list<String> 转为 byte[]
时间: 2023-06-13 14:07:27 浏览: 243
将一个包含字符串的列表转换为字节数组需要进行以下步骤:
1.将列表中的所有字符串连接起来,形成一个大字符串。
2.将大字符串转换为字节数组。
下面是一个Java代码示例:
```java
List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
list.add("!");
String bigString = String.join("", list);
byte[] byteArray = bigString.getBytes();
```
在上面的示例代码中,我们首先将字符串列表添加到一个ArrayList中。然后,我们使用Java 8中的`String.join()`方法将所有字符串连接为一个大字符串。最后,我们使用`getBytes()`方法将大字符串转换为字节数组。
需要注意的是,`getBytes()`方法将使用平台默认的字符集来编码字符串,如果需要使用指定的字符集,可以使用带参数的`getBytes()`方法。例如,如果要使用UTF-8字符集,可以使用以下代码:
```java
byte[] byteArray = bigString.getBytes(StandardCharsets.UTF_8);
```
相关问题
ArrayList<String>转为ArrayList<byte[]>
可以使用循环遍历ArrayList<String>,然后使用getBytes()方法将每个字符串转换为byte[]数组,并将其添加到另一个ArrayList<byte[]>中。代码示例:
ArrayList<String> stringList = new ArrayList<String>();
// 添加一些字符串到stringList中
ArrayList<byte[]> byteList = new ArrayList<byte[]>();
for (String str : stringList) {
byteList.add(str.getBytes());
}
注意:这只是一个简单的示例,实际使用中需要考虑数据类型转换的安全性、性能等问题。
将以下JAVA代码转为PHP代码:import java.security.spec.*; import java.security.*; import java.util.*; import org.apache.commons.lang3.StringUtils; public class SignUtils { public static String signSHA256(byte[] message, byte[] privateKeyBytes) throws Exception { PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec(Base64.getDecoder().decode(privateKeyBytes)); KeyFactory keyf = KeyFactory.getInstance("RSA"); PrivateKey privateKey = keyf.generatePrivate(priPKCS8); Signature sign = Signature.getInstance("SHA256withRSA"); sign.initSign(privateKey); sign.update(message); return Base64.getEncoder().encodeToString(sign.sign()); } public static String makeSignStr(Map<String, String> params) { List<String> keys = Lists.newArrayList(); for (Map.Entry<String, String> entry : params.entrySet()) { if ("sign".equals(entry.getKey())) { continue; } if (StringUtils.isNotBlank(entry.getValue())) { keys.add(entry.getKey()); } } Collections.sort(keys); List<String> temp = Lists.newArrayList(); for (String key : keys) { String value = params.get(key); temp.add(key + "=" + value); } return StringUtils.join(temp, "&"); } public static void main(String[] args) { try { //读取私钥 byte[] privateKeyBytes = null; Map<String, String> params = new HashMap<>(); params.put("mch_id", "商户编号"); params.put("app_id", "应用ID"); params.put("timestamp", "1541661668"); params.put("nonce_str", "aiz04enx0a2"); params.put("sign_type", "SHA"); params.put("version", "2.0"); params.put("content", "VBDExvz6/k56B1S5n7n3uOvI2sxZixcsV0Tdld92ym0CpnN8ooiCkXPgg0N1z8NC"); //签名 String sign = SignUtils.signSHA256(makeSignStr(params).getBytes("UTF-8"), privateKeyBytes); } catch (Exception e) { e.printStackTrace(); } } }
以下是将JAVA代码转为PHP代码的结果:
```php
<?php
use phpseclib\Crypt\RSA;
use phpseclib\Math\BigInteger;
class SignUtils {
public static function signSHA256($message, $privateKeyBytes) {
$rsa = new RSA();
$rsa->loadKey($privateKeyBytes);
$rsa->setSignatureMode(RSA::SIGNATURE_PKCS1);
$signature = $rsa->sign($message);
return base64_encode($signature);
}
public static function makeSignStr($params) {
$keys = array();
foreach ($params as $key => $value) {
if ($key === 'sign' || empty($value)) {
continue;
}
$keys[] = $key;
}
sort($keys);
$temp = array();
foreach ($keys as $key) {
$value = $params[$key];
$temp[] = $key . '=' . $value;
}
return implode('&', $temp);
}
public static function main() {
try {
// 读取私钥
$privateKeyBytes = null;
$params = array(
'mch_id' => '商户编号',
'app_id' => '应用ID',
'timestamp' => '1541661668',
'nonce_str' => 'aiz04enx0a2',
'sign_type' => 'SHA',
'version' => '2.0',
'content' => 'VBDExvz6/k56B1S5n7n3uOvI2sxZixcsV0Tdld92ym0CpnN8ooiCkXPgg0N1z8NC'
);
// 签名
$sign = SignUtils::signSHA256(
utf8_encode(SignUtils::makeSignStr($params)),
$privateKeyBytes
);
} catch (Exception $e) {
echo $e->getMessage();
}
}
}
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)