我正在使用CryptoJS加密密码,下面是我正在使用的示例代码
var keySize = 256;
var ivSize = 128;
var iterations = 100;
var message = "Hello World";
var password = "SecretPassword";
function encrypt (msg, pass) {
var salt = CryptoJS.lib.WordArray.random(128 / 8);
var salt_hex = CryptoJS.enc.Hex.stringify(salt);
console.log("Salt: "+salt);
console.log("Salt_hex: ", salt_hex.toUpperCase());
var key = CryptoJS.PBKDF2(pass, salt, {
keySize: keySize / 32,
iterations: iterations
});
console.log("Key: "+ key);
var iv = CryptoJS.lib.WordArray.random(128/8);
console.log("IV:"+iv);
var encrypted = CryptoJS.AES.encrypt(msg, key, {
iv: iv,
padding: CryptoJS.pad.Pkcs7,
mode: CryptoJS.mode.CBC
});
console.log("Enc: ", encrypted.toString());
// salt, iv will be hex 32 in length
// append them to the ciphertext for use in decryption
var transitmessage = salt.toString()+ iv.toString() + encrypted.toString();
return transitmessage;
}
当函数被执行时,它提供的数据如下所示
Salt:923CA1AB6DC88806B05F012C5F7DF49F脚本。JS:13:11 Salt_Hex:923CA1AB6DC88806B05F012C5F7DF49F脚本。JS:14:11密钥:1438927D9BC8A42B9689A93C0FEFC8506A5BE0819FEB2ADB03C7B755C92CFD9B脚本。JS:25:11 IV:D739119C45742E4F21EB8C987184B5C9脚本。JS:27:11 ENC:WUBXNYGIGEHQ90LI8P08
我们必须在服务器端使用OpenSSL解密生成的加密字符串。我们将加密的字符串复制到“wubxnygigehq90li8p08nw==”cryptenc.txt.enc文件中,并执行openssl命令,如下所示。
openssl AES-256-CBC-D-PBKDF2-S 923CA1AB6DC88806B05F012C5F7DF49F-ITER 100-K SecretPassword-输入密码.txt.enc-输出密码.txt
该字符串未解密,并在错误“错误的魔术数字”以下。
请帮助我知道我们正在做什么错误,以及做什么改变来使它起作用
我自己解决了这个问题,我们必须使用Crypto JS生成的密钥和iv来解密,所以openssl命令应该如下所示
openssl AES-256-CBC-D-PBKDF2-ITER 100-BASE64-K 1438927D9BC8A42B9689A93C0FEFC8506A5BE0819FEB2ADB03C7B755C92CFD9B-IV D739119C45742E4F21EB8C987184B5C9-输入密码.txt-输出密码.txt
我正在使用以下代码创建哈希密码和salt: 我正在数据库中存储HashedPassword和Salt。 现在我要验证用户登录时的密码: 这不起作用,我得到了一个完全不同的哈希密码,而不是存储在数据库中的密码。据我所知,您应该在用户登录时输入的密码之前预置salt,然后运行相同的哈希密码函数。上面不是等价于那个吗?
问题内容: 有没有一种方法可以解密Java中的密码。Java将算法实现为。我得到了创建密码哈希的代码。我在下面提到了哈希技术的链接: http://howtodoinjava.com/security/how-to-generate-secure-password-hash- md5-sha-pbkdf2-bcrypt-examples/ 我的要求是以加密格式存储第三方FTP服务器密码,并在需要登
加密方法 JavaScript
我想使用chacha20解密和加密字符串 BouncyCastleProvider正在使用chacha20技术。所以我包括了罐子。并尝试了代码,但无法工作。 pbe.java
我想得到的是 使用libnail加密密码salt 我有一个列表的盐,我想用它来加密/解密我的密码。当我加密密码时,我得到一个哈希返回,这样一个似乎可以工作,但在解密时,我总是得到假返回值。 我是否使用了错误的方法对libnaude进行加密/解密,还是完全朝着错误的方向行驶? 我的加密/解密源: 我感谢任何帮助! 多姆
我正在尝试使用CryptoJS在JavaScript中进行加密,在C#中进行解密。花了很多时间试图让两种技术返回相同的输出。但是,输出是不同的--CryptoJS产生的加密字符串不同于C#产生的加密字符串。我做错了什么?谢谢你的帮助。