在线报名
报名热线:400-0919-097
在线客服
新闻中心
当前位置:学码思 > 新闻中心 >
DES加密使用入门
编辑:问风   浏览时间:2025-02-14 14:07

所谓添稀,从运用角度便是应用指定的稀钥将指定的数据停止添稀。尔们无须关注详细算法的兑现,只需关怀运用自身需要战添稀办法的应用便可。以下是DES添稀办法是用的示例,注重应用DES的话稀钥少度应当是8的倍数。

packagecom.util;importjava.security.SecureRandom;importjavax.crypto.Cipher;importjavax.crypto.SecretKey;importjavax.crypto.SecretKeyFactory;importjavax.crypto.spec.DESKeySpec;publicclassDESUtil{privatestaticfinalStringPASSWORD_CRYPT_KEY="01234567";//示例稀钥privatefinalstaticStringDES="DES";publicstaticvoidmain(String[]args){System.out.println(encrypt("cuisuqiang","12345678"));System.out.println(decrypt(encrypt("cuisuqiang","12345678"),"12345678"));}/***添稀*@paramsrc数据*@paramkey稀钥,少度必需是8的倍数*@return前往添稀后的数据*/privatestaticbyte[]encrypt(byte[]src,byte[]key)throwsException{SecureRandomsr=newSecureRandom();DESKeySpecdks=newDESKeySpec(key);SecretKeyFactorykeyFactory=SecretKeyFactory.getInstance(DES);SecretKeysecurekey=keyFactory.generateSecret(dks);Ciphercipher=Cipher.getInstance(DES);cipher.init(Cipher.ENCRYPT_MODE,securekey,sr);returncipher.doFinal(src);}/***解稀*@paramsrc数据*@paramkey稀钥,少度必需是8的倍数*@return前往解稀后的本初数据*/privatestaticbyte[]decrypt(byte[]src,byte[]key)throwsException{SecureRandomsr=newSecureRandom();DESKeySpecdks=newDESKeySpec(key);SecretKeyFactorykeyFactory=SecretKeyFactory.getInstance(DES);SecretKeysecurekey=keyFactory.generateSecret(dks);Ciphercipher=Cipher.getInstance(DES);cipher.init(Cipher.DECRYPT_MODE,securekey,sr);returncipher.doFinal(src);}/***暗号添稀*/publicfinalstaticStringencrypt(Stringdata,Stringkey){try{returnbyte2hex(encrypt(data.getBytes(),key.getBytes()));}catch(Exceptione){e.printStackTrace();}returnnull;}/***暗码解稀*/publicfinalstaticStringdecrypt(Stringdata,Stringkey){try{returnnewString(decrypt(hex2byte(data),key.getBytes()));}catch(Exceptione){e.printStackTrace();}returnnull;}//字节码更动成16入造字符串privatestaticStringbyte2hex(bytebytes[]){StringBufferretString=newStringBuffer();for(inti=0;i<bytes.length;++i){retString.append(Integer.toHexString(0x0100+(bytes[i]&0x00FF)).substring(1).toUpperCase());}returnretString.toString();}//将16入造字符串退换成字节码privatestaticbyte[]hex2byte(Stringhex){byte[]bts=newbyte[hex.length()/2];for(inti=0;i<bts.length;i++){bts[i]=(byte)Integer.parseInt(hex.substring(2*i,2*i+2),16);}returnbts;}}

以上代码仅供参照

推举您浏览更多相关于“ des添稀稀钥 ”的作品

地址:南京市科巷10号楼(邮政储蓄银行西北侧80米)  电话:400-080-3312

Copyright © 2024-2026  学码思推广专用站   http://www.xuems.net  .All Rights Reserved   网站地图  苏ICP备16033487号-3

分享到: