相关疑难解决方法(0)

如何将字节数组转换为字符串,反之亦然?

我必须在Android中将字节数组转换为字符串,但我的字节数组包含负值.

如果我再次将该字符串转换为字节数组,我得到的值与原始字节数组值不同.

我该怎么做才能获得正确的转换?我用来进行转换的代码如下:

// Code to convert byte arr to str:
byte[] by_original = {0,1,-2,3,-4,-5,6};
String str1 = new String(by_original);
System.out.println("str1 >> "+str1);

// Code to convert str to byte arr:
byte[] by_new = str1.getBytes();
for(int i=0;i<by_new.length;i++) 
System.out.println("by1["+i+"] >> "+str1);
Run Code Online (Sandbox Code Playgroud)

我陷入了这个问题.

java

228
推荐指数
11
解决办法
55万
查看次数

如何使用SHA-256散列字符串

我试图使用SHA-256哈希我的用户密码字符串类型

我使用SHA-256使用以下方法散列字符串

String text = "abc";
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(text.getBytes("UTF-8"));
Run Code Online (Sandbox Code Playgroud)

要将btye数组转换为字符串,我使用以下方法

String doc2 = new String(hash, "UTF-8");
Run Code Online (Sandbox Code Playgroud)

当我打印doc2输出时,我得到了垃圾

?x????AA@?]?"#?a??z???a?
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么 ???如何使用SHA-256散列字符串并将其转换回字符串?

java string hash sha256

2
推荐指数
1
解决办法
7137
查看次数

标签 统计

java ×2

hash ×1

sha256 ×1

string ×1