本文实例讲述了爪哇实现与射流研究…相同的数据加密标准加解密算法。分享给大家供大家参考,具体如下:
这里演示爪哇岛与射流研究…实现相同的数据加密标准加解密算法,不多说,不废话,直接上代码
一、java实现
打包。利兹。基地。des导入Java。乌提尔。ArrayList导入Java。乌提尔。列表;/** * DES加密/解密* * @版权所有2015年* @作者柳亚庄* @参见DESCore */public class Des { public Des()} { public static void main(String[]args){ Des desObj=new Des();字符串key1=' 1字符串key2=' 2字符串key3=' 3字符串数据=' JB 51。net ';String str=desObj.strEnc(数据,key1,key2,key 3);System.out.println('我们测试结果:');系统。出去。println(str);String dec=desObj.strDec(str,key1,key2,key 3);系统。出去。println(12月);} /** * DES加密/解密* * @版权所有2015年* @作者柳亚庄* @参见DESCore *//* *将字符串加密为由十六进制组成的字符串返回加密的字符串*/public String strEnc(字符串数据,字符串第一个键,字符串第二个键,字符串第三个键){ int leng=data。length();字符串encData=List firstKeyBt=null,secondKeyBt=null,thirdKeyBt=nullint firstLength=0,secondLength=0,第三length=0;if (firstKey!=null firstKey!=' '){第一个密钥Bt=getkey字节(第一个密钥);第一长度=第一密钥。size();} if (secondKey!=null secondKey!=' '){ SessKey Bt=get key字节(SessKey);secondLength=secondkeybt。size();} if (thirdKey!=null thirdKey!=' '){第三个密钥Bt=getkey字节(第三个密钥);第三长度=第三密钥。size();} if(leng 0){ if(leng 4){ int[]Bt=strToBt(data);int[]encByte=null;if (firstKey!=null firstKey!secondKey!=null secondKey!第三把钥匙!=null thirdKey!=' '){ int[]tempBt;int x,y,z;tempBt=btfor(x=0;x first length x){ tempBt=enc(tempBt,(int[])first keybt。get(x));} for(y=0;