【文件属性】:
文件名称:java DES,DESede,Blowfish 加密 和 MD5 加密 方法操作源码
文件大小:2KB
文件格式:RAR
更新时间:2012-01-05 09:29:04
java DES MD5 加密 操作源码
该文件汇总了标题所述的加密方法的操作源码,并考虑到加密数据的文件存放问题,避免了byte[]转string类型时的数据失真的bug;下面是演示部分代码和演示结果:
public static void main(String[] args) {
try {//过程演示,普通的加解密操作
Eryptogram etg = new Eryptogram();
etg.debug = true;
byte[] key = etg.getSecretKey();
String aa = "0123456789中文测试EnglishTest!%$#@!~~";
byte[] en = etg.encryptData(aa.getBytes(), key);
/*********************************************************/
/*为了将加密数据写入文件但不出现错误,目前的方法是转为int类型进行存储*/
/*********************************************************/
int[] intTemp = new int[en.length/4];
for (int i = 0; i < intTemp.length; i++) {
byte[] byteTemp = new byte[4];
byteTemp[0] = en[i*4+0];
byteTemp[1] = en[i*4+1];
byteTemp[2] = en[i*4+2];
byteTemp[3] = en[i*4+3];
intTemp[i] = etg.byteToint(byteTemp);
// System.out.println("intTemp["+i+"]="+intTemp[i]);
}
/*********************************************************/
/*待提取文件内容后,将int转化为byte即可进行解密 */
/*********************************************************/
byte[] decodeTemp = new byte[intTemp.length*4];
for (int i = 0; i < intTemp.length; i++) {
byte[] byteTemp = etg.intTobyte(intTemp[i]);
decodeTemp[i*4+0] = byteTemp[0];
decodeTemp[i*4+1] = byteTemp[1];
decodeTemp[i*4+2] = byteTemp[2];
decodeTemp[i*4+3] = byteTemp[3];
}
byte[] de = etg.decryptData(decodeTemp, key);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
try {//MD5非对称加密
Eryptogram etg = new Eryptogram();
System.out.println("对‘01234567’进行MD5加密后的结果:"+etg.encrypt("01234567"));
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
结果:
生成密钥:6B:58:23:40:43:0B:F4:9D
加密前的字符串:0123456789中文测试EnglishTest!%$#@!~~
加密前的二进串:30:31:32:33:34:35:36:37:38:39:D6:D0:CE:C4:B2:E2:CA:D4:45:6E:67:6C:69:73:68:54:65:73:74:21:25:24:23:40:21:7E:7E
加密后的二进串:72:83:1D:0A:BF:F0:EB:81:DE:B2:DD:58:CA:EA:4F:7B:8C:9F:98:13:01:99:F0:F4:48:6B:1E:8F:17:D2:3E:DF:9B:C1:90:39:D5:91:6D:F8
解密前的信息:72:83:1D:0A:BF:F0:EB:81:DE:B2:DD:58:CA:EA:4F:7B:8C:9F:98:13:01:99:F0:F4:48:6B:1E:8F:17:D2:3E:DF:9B:C1:90:39:D5:91:6D:F8
解密后的二进串:30:31:32:33:34:35:36:37:38:39:D6:D0:CE:C4:B2:E2:CA:D4:45:6E:67:6C:69:73:68:54:65:73:74:21:25:24:23:40:21:7E:7E
解密后的字符串:0123456789中文测试EnglishTest!%$#@!~~
对‘01234567’进行MD5加密后的结果:2e9ec317e197819358fbc43afca7d837
【文件预览】:
security
----Eryptogram.java(6KB)
网友评论
- 还好吧,和我要的不一样,没有用上
- 一般情况够用了,对于3des密钥不足24字节没有给出补足方法和模式
- 算法写的很详细
- 算法写的很详细,谢谢