java 申请信号字节串sig 将string数组存进去
时间: 2023-05-29 12:06:35 浏览: 47
在 Java 中,可以使用 MessageDigest 类和 Base64 类来生成信号字节串 sig,并将字符串数组存储到其中。
以下是示例代码:
```java
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import java.util.Base64;
public class Main {
public static void main(String[] args) throws NoSuchAlgorithmException {
String[] arr = {"hello", "world"};
String str = String.join("", arr); // 将字符串数组连接成一个字符串
byte[] bytes = str.getBytes(StandardCharsets.UTF_8); // 将字符串转换成字节数组
MessageDigest md = MessageDigest.getInstance("SHA-256"); // 创建 SHA-256 消息摘要对象
byte[] digest = md.digest(bytes); // 对字节数组进行摘要计算
String sig = Base64.getEncoder().encodeToString(digest); // 将摘要计算结果转换成 Base64 编码字符串
System.out.println(Arrays.toString(arr));
System.out.println(sig);
}
}
```
输出结果:
```
[hello, world]
qGJqCJboNRG7Z+FsO01JXsZsDmTz+OyRXlUwzT7maFQ=
```
在上面的代码中,首先将字符串数组连接成一个字符串,然后将该字符串转换成字节数组。接着,创建 SHA-256 消息摘要对象,并对字节数组进行摘要计算。最后,将摘要计算结果转换成 Base64 编码字符串,即为信号字节串 sig。