//
字符串进行
DES
加密和解密
import
javax.crypto.Cipher;
import
javax.crypto.SecretKey;
import
javax.crypto.spec.SecretKeySpec;
public
class
DesedeStrDemo {
static
void
getDecrypt()
throws
Exception {
/******************
加密
******************/
String APSecret =
"dddddd"
;
//
密钥字符串
String info =
"iamzzb"
;
//
加密字符串
byte
[] key =
new
byte
[24];
//
密钥预存放字节数组
byte
[] APSecretB = APSecret.getBytes();
int
keylen = APSecretB.
length
;
if
(keylen > 24)
keylen = 24;
System.arraycopy(APSecretB, 0, key, 0, keylen);
//
密钥格式化为字节数组
,
并复制到
key
SecretKey deskey =
new
SecretKeySpec(key,
"DESede"
);
//
生成秘密(对称)密钥
Cipher c = Cipher.getInstance(
"DESede/ECB/PKCS5Padding"
);
//
提供了针对加密和解密的密码
cipher
功能
c.init(Cipher.
ENCRYPT_MODE
, deskey);
//
用密钥初始化此
cipher
byte
info_new[] = c.doFinal(info.getBytes());
//
结束多部分加密操作
/******************
解密
******************/
Cipher cc = Cipher.getInstance(
"DESede/ECB/PKCS5Padding"
);
//
提供了针对加密和解密的密码
cipher
功能
cc.init(Cipher.
DECRYPT_MODE
, deskey);
//
用密钥初始化此
cipher
byte
info_old[] = cc.doFinal(info_new);
//
结束多部分解密操作
String info_olds =
new
String(info_old);
System.
out
.println(info_olds);
}
public
static
void
main(String[] args)
throws
Exception {
getDecrypt();
}
}