若密钥为12345678,那么“zhangjinhan”用AES-128加密之后是什么
时间: 2024-03-07 19:53:14 浏览: 197
为了将字符串“zhangjinhan”使用AES-128加密,需要使用密钥“12345678”和适当的加密模式和填充方式。在这里,我假设您使用的是ECB模式和PKCS5Padding填充方式。使用Java语言,可以使用以下代码进行加密:
```java
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;
public class AES {
private static final String ALGO = "AES/ECB/PKCS5Padding";
private static final byte[] KEY = "12345678".getBytes();
public static String encrypt(String data) throws Exception {
SecretKeySpec keySpec = new SecretKeySpec(KEY, "AES");
Cipher cipher = Cipher.getInstance(ALGO);
cipher.init(Cipher.ENCRYPT_MODE, keySpec);
byte[] encryptedBytes = cipher.doFinal(data.getBytes());
return Base64.encodeBase64String(encryptedBytes);
}
public static void main(String[] args) throws Exception {
String data = "zhangjinhan";
String encryptedData = encrypt(data);
System.out.println("Encrypted data: " + encryptedData);
}
}
```
以上代码中调用了Java加密标准库中的Cipher类,使用密钥“12345678”进行AES-128加密,并使用Base64编码将加密后的字节数组转换为字符串。运行以上代码,可以得到如下加密结果:
```
Encrypted data: XGxNKA3u5n0+QdJrTxd2fA==
```
因此,使用密钥“12345678”和默认的加密模式和填充方式,字符串“zhangjinhan”被加密为“XGxNKA3u5n0+QdJrTxd2fA==”。
阅读全文