Web applications 如何使用带有TweetJS的密码加密密钥?
这是我极力推荐的 我有一个项目,团队希望在ID上显示编码为base64的密钥对。当然,他们不希望只显示密钥,而是存储加密版本的密钥。像这样的Web applications 如何使用带有TweetJS的密码加密密钥?,web-applications,javascript,Web Applications,Javascript,这是我极力推荐的 我有一个项目,团队希望在ID上显示编码为base64的密钥对。当然,他们不希望只显示密钥,而是存储加密版本的密钥。像这样的 // do the encryption let keyPair = tweetnacl.sign.keyPair(); let publicKey = tweetnacl.util.encodeBase64(keyPair.publicKey); let signature = tweetnacl.util.encodeBase64(tweetnacl.
// do the encryption
let keyPair = tweetnacl.sign.keyPair();
let publicKey = tweetnacl.util.encodeBase64(keyPair.publicKey);
let signature = tweetnacl.util.encodeBase64(tweetnacl.sign.detached(tweetnacl.util.decodeUTF8(certData), keyPair.secretKey));
let secretKey = tweetnacl.util.encodeBase64(keyPair.secretKey);
let encryptedSecretKey = CryptoJS.AES.encrypt(secretKey, this.props.data.password).toString();
有人建议我不要使用CryptoJS。是否有更好的方法仅使用tweetnacl来实现这一点
谢谢。tweetnacl有一个称为secretbox的对称加密实现。您可以像使用AES一样加密任何您想要的内容,包括您的密钥 伪代码:
var smkey = stringToUint8Array(keystring); // must be 32 bytes, pad it if you have to
var nonce = nacl.randomBytes(nacl.box.nonceLength);
var encryptedSecretKey = nacl.secretbox(secretKey, nonce, smkey);
然后,您可以将加密的Uint8Array转换为string或base64并使用它。我希望您已经使用了而不是放弃了该特定实现。另外,你的链接上写着测试版。该库是稳定的,API是冻结的,但尚未独立审查。。在这里,你可能需要重新思考很多问题。这似乎是tweet的一个问题