|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Java的桌面程序开发在java程序员里通常叫swing开发,主要用的swing包里的类开发的,也就是通常说的c/s架构开发封装|解密
原创:zhouxianli1978@msn.com,接待喜好Java的网友加我
DES加密封装
packageorg.jtool.desutils;importjava.security.SecureRandom;importjavax.crypto.*;importjavax.crypto.spec.DESKeySpec;publicclassDESEncrypt{privatebyte[]desKey;publicDESEncrypt(byte[]desKey){this.desKey=desKey;}publicbyte[]doEncrypt(byte[]plainText)throwsException{//DES算法请求有一个可托任的随机数源SecureRandomsr=newSecureRandom();byterawKeyData[]=desKey;/*用某种办法取得密匙数据*///从原始密匙数据创立DESKeySpec对象DESKeySpecdks=newDESKeySpec(rawKeyData);//创立一个密匙工场,然后用它把DESKeySpec转换成//一个SecretKey对象SecretKeyFactorykeyFactory=SecretKeyFactory.getInstance("DES");SecretKeykey=keyFactory.generateSecret(dks);//Cipher对象实践完成加密操纵Ciphercipher=Cipher.getInstance("DES");//用密匙初始化Cipher对象cipher.init(Cipher.ENCRYPT_MODE,key,sr);//如今,猎取数据并加密bytedata[]=plainText;/*用某种办法猎取数据*///正式实行加密操纵byteencryptedData[]=cipher.doFinal(data);returnencryptedData;}}
DES解密封装
packageorg.jtool.desutils;importjava.security.SecureRandom;importjavax.crypto.*;importjavax.crypto.spec.DESKeySpec;publicclassDESDecrypt{privatebyte[]desKey;publicDESDecrypt(byte[]desKey){this.desKey=desKey;}publicbyte[]doDecrypt(byte[]encryptText)throwsException{//DES算法请求有一个可托任的随机数源SecureRandomsr=newSecureRandom();byterawKeyData[]=desKey;/*用某种办法猎取原始密匙数据*///从原始密匙数据创立一个DESKeySpec对象DESKeySpecdks=newDESKeySpec(rawKeyData);//创立一个密匙工场,然后用它把DESKeySpec对象转换成//一个SecretKey对象SecretKeyFactorykeyFactory=SecretKeyFactory.getInstance("DES");SecretKeykey=keyFactory.generateSecret(dks);//Cipher对象实践完成解密操纵Ciphercipher=Cipher.getInstance("DES");//用密匙初始化Cipher对象cipher.init(Cipher.DECRYPT_MODE,key,sr);//如今,猎取数据并解密byteencryptedData[]=encryptText;/*取得经由加密的数据*///正式实行解密操纵bytedecryptedData[]=cipher.doFinal(encryptedData);returndecryptedData;}}
DES加解密利用样例
packageorg.jtool.desutils;/****/publicclassDESTest{publicstaticvoidmain(String[]args)throwsException{Stringkey="ABCDEFGH";Stringvalue="AABBCCDDEE";DESEncryptdesEncrypt=newDESEncrypt(key.getBytes());byte[]encryptText=desEncrypt.doEncrypt(value.getBytes());System.out.println("doEncrypt-"+toHexString(encryptText));System.out.println("doEncrypt-"+newString(encryptText));DESDecryptdesDecrypt=newDESDecrypt(key.getBytes());byte[]decryptText=desDecrypt.doDecrypt(encryptText);System.out.println("doDecrypt-"+newString(decryptText));System.out.println("doDecrypt-"+toHexString(decryptText));}/***16进制显现数据**@paramvalue字节数组*@return*/publicstaticStringtoHexString(byte[]value){StringnewString="";for(inti=0;i<value.length;i++){byteb=value[i];Stringstr=Integer.toHexString(b);if(str.length()>2){str=str.substring(str.length()-2);}if(str.length()<2){str="0"+str;}newString+=str;}returnnewString.toUpperCase();}}
C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作, |
|