![](/img/trans.png)
[英]How to use sortChildren with createJS in Angular6 project?
[英]How to implement bcrypt in an angular6 project
嗨,我正在尝试使用bcrypt npm 包对密钥进行哈希处理,但它引发了我的错误。 到目前为止,我已经尝试过这段代码。
import * as bcrypt from 'bcrypt';
export class LowLevelEncryption {
encrypt(key: string){
console.log(bcrypt);
bcrypt.hash(key, 19, function(err, hash) {
Store hash in your password DB.
});
}
}
它会抛出许多这样的错误:-
Module not found: Error: Can't resolve 'tls' in '/home/ec2-user/environment/passcript/node_modules/tunnel-agent'
请有人帮助我或任何人都知道任何其他图书馆。 谢谢
您可以尝试使用 crypto-js,并使用您需要的任何策略,例如:
import { Injectable } from '@angular/core';
import * as crypto from 'crypto-js';
@Injectable()
export class CryptoService {
constructor() {
}
encrypt(key: any, privateKey: any) {
const cryptkey = crypto.enc.Utf8.parse(privateKey);
const encrypted = crypto.AES.encrypt(key, cryptkey, {
iv: crypto.enc.Hex.parse('00000000000000000000000000000000'),
mode: crypto.mode.ECB,
padding: crypto.pad.Pkcs7
});
return encrypted.toString();
}
decrypt(cryptedKey: any, privateKey: any) {
const cryptoPrivateKey = crypto.enc.Utf8.parse(privateKey);
const encryptedKey = crypto.enc.Base64.parse(cryptedKey);
const decrypted = crypto.AES.decrypt({ciphertext: encryptedKey}, cryptoPrivateKey, {
iv: crypto.enc.Hex.parse('00000000000000000000000000000000'),
mode: crypto.mode.ECB,
padding: crypto.pad.Pkcs7
});
return decrypted.toString(crypto.enc.Utf8);
}
}
甚至更简单:加密
const encryptedPassword = crypto.AES.encrypt(value, 'password');
并解密
const bytes = crypto.AES.decrypt(encryptedPassword, 'password');
const decryptedPassword = bytes.toString(crypto.enc.Utf8);
希望这可以帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.