有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案