Encryption 无法在ionic3应用程序中使用crypto js解密crypto js中的加密值

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,

-我已成功执行用户名的加密部分,并且- -在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,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();