資源簡介
Java版標準3DES加密/解密方法,加密函數desedeEncoder(String paramString1, String key) 解密函數desedeDecoder(String dest, String key)
代碼片段和文件信息
package?com.ls.utils;
import?javax.crypto.Cipher;
import?javax.crypto.SecretKey;
import?javax.crypto.spec.SecretKeySpec;
public?class?DESCommon?{
????private?static?final?String?UTF8?=?“utf-8“;//字符編碼?? ?????
????private?static?final?String?ALGORITHM_DESEDE?=?“DESede“;//定義加密模式??
????//private?static?String?key=PropertyCommon.readInfo(“com/ls/config/system-context.properties““system.basic.key“);??
????private?static?String?key=“1122334455667788“;
????private?String?byte2HexStr(byte[]?paramArrayOfByte)
????{
??????StringBuilder?localStringBuilder?=?new?StringBuilder();
??????for?(int?i?=?0;?i? ????????String?str?=?Integer.toHexString(paramArrayOfByte[i]?&?0xFF);
????????if?(str.length()?==?1)?{
??????????localStringBuilder.append(“0“);
????????}
????????localStringBuilder.append(str.toUpperCase());
??????}
??????return?localStringBuilder.toString();
????}
????
????/**?
?????*?字符串轉字節數組?
?????*/?
????private?byte[]?str2ByteArray(String?s)?{?//只在解密中使用?
????????int?byteArrayLength?=?s.length()/2;??
????????byte[]?b?=?new?byte[byteArrayLength];??
????????for?(int?i?=?0;?i? ????????????byte?b0?=?(byte)?Integer.valueOf(s.substring(i*2?i*2+2)?16).intValue();??
????????????b[i]?=?b0;??
????????}?? ??????????
????????return?b;??
????}?
??????
????/**
?????*?構造3DES加解密方法key?
?????*??
?????*/??
????private?byte[]?build3DesKey(String?keyStr)?throws?Exception?{??
????????byte[]?key?=?new?byte[24];??
????????byte[]?temp?=?keyStr.getBytes(UTF8);??
????????if?(key.length?>?temp.length)?{??
????????????System.arraycopy(temp?0?key?0?temp.length);??
????????}?else?{??
????????????System.arraycopy(temp?0?key?0?key.length);??
????????}?? ??????????
????????return?key;??
????}?
????//加密方法
??
- 上一篇:基于Java EE企業即時通訊工具設計與實現
- 下一篇:密碼隱藏顯示
評論
共有 條評論