gpt4 book ai didi

java - 在java中解码编码字符串?

转载 作者:行者123 更新时间:2023-12-03 20:27:47 24 4
gpt4 key购买 nike

在我的应用程序中,我正在编码一个字符串,然后生成一个 MAC id(使用 javax.crypto.Mac)。但是我试图将它解码回来,但我不能。你能帮帮我吗?可以你指出我哪里做错了?

代码

String userid = "AmilaI";
String time = gmtFormat.format(now)+ "Z";

String algorithmKey = time + userid;

SecretKeySpec sks = new SecretKeySpec(algorithmKey.getBytes("UTF-8"), "HmacSHA1");
Mac mac = Mac.getInstance("HmacSHA1");
mac.init(sks);
byte[] hashBytes = mac.doFinal(route.getBytes("UTF-8"));

String hmac = Base64.encodeBase64String(hashBytes);
hmac = hmac.replaceAll("\r\n", "");
System.out.println("Encrypted "+ hmac );

byte[] decoded = Base64.decodeBase64(hmac);
System.out.println("Decrypted " + new String(decoded, "UTF-8") + "\n");

如何反转路径并取回 alogorithmKey,以便通过解密获取用户 ID?

最佳答案

HmacSHA1 是一个散列,因此这意味着它只能以一种方式工作,您无法从中获取原始值。您需要使用可逆的算法。

关于java - 在java中解码编码字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25864140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com