Tag: public key encryption

使用非对称密码保护文件

我知道非对称密码是如何工作的。 我知道有两个键(一个私人和一个公共)。 当有人想要沟通时,他们使用这些公钥来交换他们的公钥encryption消息,然后相应的消息只能由拥有私钥的用户解密。 现在,我正在使用Node.js,我需要做这样的事情… 我需要一个应用程序,每个小时读取一个数据库,提取数据并将其保存到一个文件,我需要发送到另一台服务器。 我的问题是,我不希望该文件将被其他人看到,我使用SSH传输,所以没有问题,但我必须encryption该文件,因为我不是该服务器的pipe理员所以也许有人可以读它。 不幸的是,两台服务器的pipe理员都是一样的。 所以我的想法是用公钥encryption文件,然后只有拥有私钥的人才能解密。 我认为这是毫无意义的使用像这样的东西: var key = 'blablabla' 如果我使用公钥,没有问题,所有人都可以阅读……确实是公开的。 但是用这个公钥,没有人可以解密这个消息,所以就像单向encryption一样。 现在,有人可以告诉我是否需要签名者/validation者来完成这项工作,或者我可能需要使用openssl生成两个密钥(public / private),并将这些密钥传递给密码/ dechiper? 我在看密码模块,但没有例子….

使用OpenPGP.js解密非装甲PGP文件

我正在构build一个Node应用程序,我已经构build了一个解密器函数,并使用Openpgp.js npm模块来完成这个工作。 我采用各种提交的PGP客户端文件,使用我们的公钥进行解密,使用我们的私钥进入,并将解密后的版本放在一个文件夹中供我访问,似乎都很好….只要因为这些文件是装甲的。 以下是一些代码示例行,显示事件的顺序: const encryptedData = fs.readFileSync(encryptedFilePath, 'utf8') openpgp.decrypt({ message: openpgp.message.readArmored(encryptedData), publicKeys, privateKey }).then( (decrypted) => { fs.writeFile(decryptedFilePath, decrypted.data } ) 当一个装甲的文件通过,一切都很好,我得到的解密文件在指定的文件夹。 这些文件在文本编辑器中打开时的格式如下: —–BEGIN PGP MESSAGE—– WBh2X7KwfEBDx0LEE1FzlnvxZs44o62FclpTazJpcl9J7DjwVfg9cHCID0TAN6Y6 B3b5bCQQFe1wTgpIkVtd0mFGQx7KGHj4FGte53qseVxC2bfq9PGKRIAUg6olr+82 然而,我们有客户端encryption文件与装甲选项closures,所以他们在文本编辑器中打开时以hextypes的格式…. 7403 436d e6c0 f941 daac 945b 9a81 f066 6cd2 0032 5df0 9ca2 23a0 6eec a7bb f24c a941 99a8 1053 ae23 f88b 245c f709 c2b2 …..或作为编码的文本文件,看起来像这样: […]