java DecryptoJS中不返回所需数据的解密
我想将一个对象转换为字符串并进行加密,以生成一个动态url路由
访问路由后,我想对其进行解密并将其转换回JSON
我使用cryptoJS来实现这一点,但当我尝试解密时,它会返回奇数字符,例如�&�j�Ql�8ܐN0m=��r.Z͙R��R�oAë�g_AM�+�����]a�B
此外,我试图在我加密的文件中解密它,并得到所需的值
这是我的尝试
第1页:
const encryptedURL = encrypt(JSON.stringify(objectInfo))
<Link to={page2/encryptedURL}
第2页:
const { id } = useParams()
console.log('json', decrypt(id)
//returns �&�j�Ql�8ܐN0m=��r.Z͙R��R�oAë�g_AM�+�����]a�
加密/解密函数
export function encrypt(text) {
const cipher = crypto.createCipheriv(ALGORITHM, SECRET_KEY, IV)
const encrypted = cipher.update(text, 'utf8', 'hex') + cipher.final('hex')
return encrypted
}
export function decrypt(hash) {
const decipher = crypto.createDecipheriv(ALGORITHM, SECRET_KEY, IV)
var decrypted = decipher.update(hash, 'hex', 'utf8') + decipher.final('utf8')
return decrypted
}
该算法是aes-256-ctr
,密钥长度为32
对不起,如果这是一个愚蠢的问题,我是一个完全不懂加密的人
共 (0) 个答案