最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何在NodeJS中正确加密JSON字符串

运维笔记admin11浏览0评论

如何在NodeJS中正确加密JSON字符串

如何在NodeJS中正确加密JSON字符串

此数据是加密的json字符串的十六进制字符串。这是通过对称密钥加密的。

Key: PojmoHD0HNuE/Q+3sKD/ARj86XRYitueWmpjyCuoHuSX71xXlU0hN72wXdrWdt7w//N1BF6GQMLKZIkKXpQ8v18vP1kFG/vO3TpKZRTPhGUyFxE8y1CRIPUJesnbM+Cy3xPegQ3H2wn00YP5f2Dw0uDUHke2MEkCXHYyAgxGqo8=

Encrypted Hex: 2D31727668A7008B59552C7186C28D51C3E5A5A1DC90AF46577705A564D3CF1A3866BB4A79E5029EBFC8871CA769DC5EBD5599C040070B27464F158D3DEE50DD9BBF5E7B8CB31C0FEF453DB04A1B313A3918A9164C355A376A7866821277E47273CEC268FBD3ED2625E0518C6ED8C8F890C0A5642D7C7BD8B9C017D5E3E94B3EE58E14C79762BF21881A90636F3024186B27ED216C1FF6B9DF6887005546873A33683025616BDF1F283FB59DB686DC815D56047C50FB9B53735011E60057703F468E11C7D5975AC5B39D8FAA6865C67095A58C1F1CB048670E0AB6F9B818434BDF6B085F58906101FA885D0B8799C6F1600AAE98DE2651A731D519466D516C1B

我必须以以下方式用密钥加密/解密JSON字符串。我尝试了不同的算法,但没有一个起作用。我尝试了以下代码。

const crypto = require('crypto');
const algorithm = 'aes-256-cbc'

const encryptData = (data, key) => {

    var mykey = crypto.createCipher(algorithm, key);

    var mystr = mykey.update(data, 'utf8', 'hex')
    mystr += mykey.final('hex');
    console.log(mystr);
    return mystr;
}

const decryptData = (encrypted, key) => {

    var mykey = crypto.createDecipher(algorithm, key);
    var mystr = mykey.update(encrypted, 'hex', 'utf8')
    mystr += mykey.final('utf8');

    console.log(mystr);
    return mystr;
}
回答如下:您可以使用aes256。它可能会对您有所帮助。

const crypto = require('crypto'); const text = 'PojmoHD0HNuE/Q+3sKD/ARj86XRYitueWmpjyCuoHuSX71xXlU0hN72wXdrWdt7w//N1BF6GQMLKZIkKXpQ8v18vP1kFG/vO3TpKZRTPhGUyFxE8y1CRIPUJesnbM+Cy3xPegQ3H2wn00YP5f2Dw0uDUHke2MEkCXHYyAgxGqo8='; const key = 'testpassword'; const algorithm = 'aes256' const encryptData = () => { const cipher = crypto.createCipher(algorithm, key); return cipher.update(text, 'utf8', 'hex') + cipher.final('hex'); } const decryptData = (encrypted) => { const decipher = crypto.createDecipher(algorithm, key); return decipher.update(encrypted, 'hex', 'utf8') + decipher.final('utf8'); } const encrypted = encryptData(); const decrypted = decryptData(encrypted);

发布评论

评论列表(0)

  1. 暂无评论