gpt4 book ai didi

java - 当我将该字符串转换回 byte[] 时,两者并不相同。谁能帮我?

转载 作者:行者123 更新时间:2023-12-02 10:15:13 25 4
gpt4 key购买 nike

我使用 secureRandom 类来获取 byte[],我使用 string.getBytes() 将 byte[] 转换为字符串。当我将该字符串转换回 byte[] 时,两者并不相同。谁能帮助我吗?

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.Arrays;

public class sha256Salt {

public static void main(String[] args) {

try {
String password = "uday123";
byte[] salt = createSalt();
System.out.println(salt);

String str = Arrays.toString(salt);
System.out.println(str);

byte[] bytes1 =str.getBytes();
System.out.println(bytes1);


MessageDigest md = MessageDigest.getInstance("SHA-256");
md.reset();
md.update(salt);
byte[] bytes= md.digest(password.getBytes());
// String check
// byte[] b =

StringBuilder buildThis = new StringBuilder();

for(int i=0; i<bytes.length; i++)
{
buildThis.append(Integer.toString((bytes[i] & 0xff) + 0x100, 16).substring(1));
}

String hashValue = buildThis.toString();

// System.out.println("salt : " + Arrays.toString(salt));
//
// System.out.println(bytes);
System.out.println("hash value is : " + hashValue);

} catch (NoSuchAlgorithmException e) {
System.out.println("There is no such algorithm exception ");
e.printStackTrace();
}

}


private static final byte[] createSalt() {
byte[] bytes1 = new byte[5];
SecureRandom random = new SecureRandom();
random.nextBytes(bytes1);
return bytes1;
}
}

当前输出:

[B@2133c8f8

[-101, 80, -62, 44, -60]

[B@7a79be86

预期输出:

[B@2133c8f8

[-101, 80, -62, 44, -60]

[B@2133c8f8

最佳答案

你应该使用

String str = new String(salt);

而不是

String str = Arrays.toString(salt);

另请注意,您正在打印实例哈希代码,这不是您想要的,但这将起作用:

String password = "uday123";
byte[] salt = createSalt();
System.out.println(Arrays.toString(salt));

String str = new String(salt);
System.out.println(str);

byte[] bytes1 = str.getBytes();
System.out.println(Arrays.toString(bytes1));

关于java - 当我将该字符串转换回 byte[] 时,两者并不相同。谁能帮我?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54734103/

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