Tag: encryption

PKCS#12(.pfx .p12)生成与node.js在飞行?

我有一定的需要在飞行中生成它们。 虽然我想我可以使用openssl命令生成文件,然后阅读并删除它们,如果有一种方法在node.js中执行它将是很好的。 有什么build议么? 我签出了certgen,但它没有我正在寻找(另外,它只是调用命令行命令和生成文件…)。

Nodejs中的Java密码

我有任务将这个Java解密方法转换成Nodejs,但是我不太了解这个Java的东西。 我对PBEWithMD5AndDES特别困惑。 请向我解释一下,如何在Nodejs中重现这个解密。 private void readFile() { try { Cipher cipher = getCipher(2, "secret"); DataInputStream dis; dis = new DataInputStream(new CipherInputStream(someInputStream, cipher)); String field1 = dis.readUTF(); String filed2 = dis.readUTF(); dis.close(); } catch (Exception e) { } } private Cipher getCipher(int mode, String password) throws Exception { Random random = new Random(43287234L); byte[] salt = […]

从node.js插入二进制到MySQL

我正在使用encryption模块来创buildsalt和哈希以存储在我的数据库中。 我正在使用SHA-512,如果这是相关的。 我所知道的是一个64字节的盐,目前是由crypto.randomBytes(64, . . .)创build的“SlowBuffer”的forms。 例: <SlowBuffer 91 0d e9 23 c0 8e 8c 32 5c d6 0b 1e 2c f0 30 0c 17 95 5c c3 95 41 fd 1e e7 6f 6e f0 19 b6 34 1a d0 51 d3 b2 8d 32 2d b8 cd be c8 92 e3 e5 48 […]

带有node.jsencryption的PKCS5填充

node.jsencryption文档指出填充是自动插入到inputstream中的。 我有一个简单的testing程序,需要计算明文的SHA1哈希,然后使用PKCS5填充encryption这个20字节的哈希使用AES-256 / CBC。 这是我的testing代码: var fs = require('fs'); var crypto = require('crypto'); var key = [ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f ]; var iv = [ 0x00, […]

尝试在node.js中获取AESencryptionstring以匹配.net中的encryption值

我试图encryptionnode.js中的一个值,我可以在.net中解密。 我已经给他们的代码,在事物的.net方面用于encryption值,我试图在我的node.js脚本中实现相同的encryption值。 我绝对不是一个encryption爱好者,所以请帮我弄清楚我哪里出错了。 我的node.jsencryption值与.netencryption值不匹配,而且我的node.jsencryption值实际上每次运行脚本时都不会返回相同的值。 这是.netencryption逻辑: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Security.Cryptography; using System.IO; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("start:"); string key = "mysecretkey"; string secret = "encryptThisMessage"; string crypto = EncryptString(secret, key); Console.WriteLine(crypto); string returnValue = DecryptString(crypto, key); Console.WriteLine(returnValue); Console.ReadKey(); } /// <summary> /// Encrpyts […]

解密由crypto.pbkdf2对象创build的密码

我在JavaScript中运行以下代码,在NodeJs上运行: encryptPassword: function(password) { if (!password || !this.salt) return ''; var salt = new Buffer(this.salt, 'base64'); return crypto.pbkdf2Sync(password, salt, 10000, 64).toString('base64'); } 我怎样才能实现解密function? 它可以在Java或JavaScript中。 谢谢!

尝试使用crypto-js和nodejs进行解密

我在一个微控制器和一个nodejs tcp服务器之间来回传递。 微控制器与传感器数据形成一个json串。 微控制器然后将jsonstring发送到WiFi模块。 然后WiFi模块使用32位hex字符的AES256作为密钥encryption数据,然后将encryption数据发送到nodejs tcp服务器。 nodejs TCP服务器正在使用googlecode Crypto-JS的Crypto-JS模块forms。 出于testing目的,我想输出encryption的数据和解密的数据到控制台。 但是我不确定如何做到这一点。 我试图输出数据,但我收到空白的数据。 例如,控制台应该读取类似于:192.168.1.14:30001> some-json-string除了我正在接收192.168.1.14:30001> 旧代码: // I removed the old code to shrink this post and to remove any confusion. 编辑 我现在正在使用由NodeJS提供的内置encryption模块。 我收到的错误是: crypto.js:292 var ret = this._binding.final(); ^ TypeError:错误:06065064:数字包络例程:EVP_DecryptFinal_ex:错误的解密 在Decipher.Cipher.final(crypto.js:292:27) 解密(C:\ Users \ joes \ Desktop \ encrypt \ tcp.js:18:24) 在sockets。 (C:\用户\乔斯\桌面\encryption\ tcp.js:44:23) 在Socket.emit(events.js:95:17) […]

在开源程序中encryption?

目前我正在开发一个Node.js的web服务器应用程序,然后我想提供下载和使用。 这个应用程序应该具有帐户,以便您可以login您的帐户在服务器创build的网站上。 由于这需要密码,所以我也必须考虑安全问题。 但现在,我真的不知道如何在发送和接收密码的时候保护密码。 对于存储,我只是简单地创build一个密码散列,并将散列存储在某个地方,但是传输呢? 我正在考虑SSL / https,但是这需要一个SSL证书,即使我在某个地方免费获得,我也无法在开源应用程序(?)中分享它。 我也可以以某种方式在网站上散列密码,然后把散列发送给服务器,但是我认为这也不是安全的最高标准,是吗? 考虑到没有SSL会导致更多的弊端,而不仅仅是更糟糕/没有encryption。 有任何想法吗?

为什么node.js的encryption模块给出的结果与Java的AESencryption的Cipher类不同?

我试图理解为什么使用Java或Node.jsencryption它时encryption数据发生了变化,我需要修改node.js代码以使它返回与我在Java上相同的encryption数据。 (请注意,我不能修改java片段) Node.js实现: var crypto = require('crypto'); console.log("\n\n============"); var cKey = new Buffer("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "utf-8"); var cIv = new Buffer("1111111111111111", "utf-8"); var cData = "x"; console.log(cKey); console.log(cIv); console.log("UTF-8 Data: " + cData); var cipher = crypto.createCipheriv("aes-256-cbc", cKey, cIv); var cipherText = cipher.update(cData, 'utf8', 'hex') + cipher.final('hex'); console.log("Our data: " + cipherText); 以前的代码将打印出以下结果: <Buffer 41 41 41 […]

使用pbkdf2 crypto哈希密码无法正常工作

密码安全不是我的强项。 请帮我一下 我使用node.js 4.2.3 express 4.13.3。 我发现一些例子来encryption密码和密码的pbkdf2。 这是我的代码。 var salt = crypto.randomBytes(10).toString('base64'); console.log("salt > "+salt); crypto.pbkdf2(pass, salt , 10000, 150, 'sha512',function(err, derivedKey) { pass = derivedKey.toString('hex'); }); 最终的derivedKey不包含salt。 我错过了什么? 我应该在保存之前手动join两个string吗? 为什么一些例子使用base64和其他的hex ? 获得不同的string长度? 什么是默认的,所以我可以使用它? 为什么不在salt和哈希密码中使用basic64 ? 最终的derivedKeystring是UTF8吗? 或者只有在数据库被保存的情况下才能做到这一点? 我的数据库是UTF8。 谢谢