Java 3DES 加解密
程序员文章站
2024-03-14 14:50:58
...
3DES,即三重DES,是DES的加强版。它使用3条56位(共168位)的**对数据进行三次加密,通常情况下,提供了较为强大的安全性。
使用3DES和使用DES时类似,需要将算法名称由"DES"改为"DESede"和略微的改变:
这里我们使用了消息摘要和Base64编码技术来产生24个字节的key。
使用3DES和使用DES时类似,需要将算法名称由"DES"改为"DESede"和略微的改变:
public class ThreeDESHelper {
static String keyFileName = "3des_key.xml";
private static final String ALGORITHM = "DESede";
// These segments that are similar to the ones of DES are omitted
private static SecretKey generateSecretKey(String key) {
SecretKey secretKey = null;
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] bytes = key.getBytes();
md.update(bytes, 0, bytes.length);
byte[] mdBytes = md.digest(); // Generate 16 bytes whenever
byte[] encodedBytes = org.apache.commons.codec.binary.Base64.encodeBase64(mdBytes); // Generate 24 bytes for DESedeKeySpec
DESedeKeySpec keySpec = new DESedeKeySpec(encodedBytes);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(ALGORITHM);
secretKey = keyFactory.generateSecret(keySpec);
} catch (Exception e) {
e.printStackTrace();
}
return secretKey;
}
}
这里我们使用了消息摘要和Base64编码技术来产生24个字节的key。
上一篇: 3D世界屏蔽UI的响应事件
下一篇: java 3des加解密