Encryption 无法在ionic3应用程序中使用crypto js解密crypto js中的加密值
-我已成功执行用户名的加密部分,并且- -在ionic v3应用程序中使用crypto js将密码值捕获到firebase analytics中Encryption 无法在ionic3应用程序中使用crypto js解密crypto js中的加密值,encryption,cryptography,ionic3,cryptojs,Encryption,Cryptography,Ionic3,Cryptojs,-我已成功执行用户名的加密部分,并且- -在ionic v3应用程序中使用crypto js将密码值捕获到firebase analytics中 import { Component, Input } from "@angular/core"; class Model { param1: string; value:any; myPassword = "my message 123"; function decrypt(this.someuservalue:any,
import { Component, Input } from "@angular/core";
class Model {
param1: string;
value:any;
myPassword = "my message 123";
function decrypt(this.someuservalue:any,this.somemailid:any){
const encrypted = CryptoJS.AES.encrypt(this.someuservalue,
myPassword).toString();
}
}
-在firebase数据库中也获得了加密值
-但现在要在另一个独立的javascript文件中解密它,我无法做到这一点。
-下面是我试图解密它的方法
var decrypted = CryptoJS.AES.decrypt(cipher, value);
var plaintext = = decrypted.toString(CryptoJS.enc.Utf8);
-但我不能这么做,
-任何帮助都将不胜感激
-谢谢
-我试过了
var cipher = "encrypted value from the above implemented encryption"
password = "my message 123";
var rawData = atob(cipher);
var iv = btoa(rawData.substring(0,16));
var crypttext = btoa(rawData.substring(16));
var plaintextArray = CryptoJS.AES.decrypt(
{
ciphertext: CryptoJS.enc.Base64.parse(crypttext),
salt: ""
},
CryptoJS.enc.Hex.parse(password),
{ iv: CryptoJS.enc.Base64.parse(iv) }
);
-及
-两者似乎都不起作用。看看libnaude.js
Na钠是一个现代化的、易于使用的软件库,用于加密、解密、签名、密码散列等
它是一个可移植的、可交叉编译的、可安装的、可打包的NaCl分支,具有兼容的API,并且是一个扩展API,可以进一步提高可用性
它的目标是提供构建更高级加密工具所需的所有核心操作
钠是跨平台和跨语言的。它可以运行在各种编译器和操作系统上,包括带有MinGW或Visual Studio的Windows、x86和x86_64、iOS和Android。Javascript和WebAssembly版本也可用,并且完全受支持。所有通用编程语言的绑定都是可用的,并且得到了很好的支持
设计选择强调安全性和易用性。但是,尽管强调高安全性,但原语比大多数实现都要快
版本1.0.17于2019年1月7日发布
参考:
钠
var bytes = CryptoJS.AES.decrypt({
ciphertext: CryptoJS.enc.Utf8.parse(cipher)
}, password, {format: CryptoJS.format.Utf8 });
var plaintext = bytes.toString();