當前位置:編程學習大全網 - 編程語言 - Des加密編程

Des加密編程

/*

* @param arrB要轉換的字節數組

* @返回轉換後的字符串。

* @throws Exception該方法不處理任何異常,所有異常都被拋出。

*/

公共靜態字符串byteArr2HexStr(byte[] arrB)引發異常{

int iLen = arrB.length

//每個字節可以用兩個字符表示,所以字符串的長度是數組長度的兩倍。

string buffer sb = new string buffer(iLen * 2);

for(int I = 0;我& ltiLeni++) {

int int tmp = arrB[I];

//將負數轉換成正數

while(int tmp & lt;0) {

int tmp = int tmp+256;

}

//小於0F的數字前面需要有0。

if(int tmp & lt;16) {

sb . append(" 0 ");

}

sb . append(integer . tostring(int tmp,16));

}

return sb . tostring();

}

/*

* @ paramstring字符串要轉換的字符串

* @返回轉換後的字節數組

* @throws Exception該方法不處理任何異常,所有異常都被拋出。

*/

公共靜態字節[] hexStr2ByteArr(String strIn)引發異常{

byte[]arrB = strin . getbytes();

int iLen = arrB.length

//兩個字符代表壹個字節,所以字節數組的長度是字符串的長度除以2。

byte[] arrOut =新字節[iLen/2];

for(int I = 0;我& ltiLeni = i + 2) {

String strTmp = new String(arrB,I,2);

arrOut[I/2]=(byte)integer . parse int(strTmp,16);

}

返回arrOut

}

/**

*加密字節數組

*

* @param arrB

*要加密的字節數組

* @返回加密的字節數組

* @拋出異常

*/

@SuppressWarnings("restriction ")

私有靜態byte[] encrypt(byte[] arrB,String keyParameter)引發異常{

security . add provider(new com . sun . crypto . provider . sun JCE());

key key = getKey(key parameter . getbytes());

cipher encrypt cipher = cipher . getinstance(" DES ");

encryptCipher.init(密碼。ENCRYPT_MODE,key);

返回encrypt cipher . do final(arrB);

}

/**

*加密字符串

*

* @param strIn

*要加密的字符串

* @返回加密字符串

* @拋出異常

*/

公共靜態字符串加密(String strIn,String keyParameter)引發異常{

返回hextrbytearrutils . bytearr hex str(encrypt(strin . getbytes(PICC config。PICC _輸入_字符集),關鍵參數));

}

/**

*解密字節數組

*

* @param arrB

*要解密的字節數組

* @返回解密的字節數組

* @拋出異常

*/

@SuppressWarnings("restriction ")

私有靜態byte[] decrypt(byte[] arrB,String keyParameter)引發異常{

security . add provider(new com . sun . crypto . provider . sun JCE());

key key = getKey(key parameter . getbytes());

cipher decrypt cipher = cipher . getinstance(" DES ");

decryptCipher.init(Cipher。DECRYPT_MODE,key);

返回decrypt cipher . do final(arrB);

}

/**

*解密字符串

*

* @param strIn

*要解密的字符串

* @返回解密的字符串

* @拋出異常

*/

公共靜態字符串解密(String strIn,String keyParameter)引發異常{

返回新字符串(decrypt(hexstrbytearrutils . hexstr 2 bytearr(strIn),keyParameter),PiccConfig。PICC _輸入_字符集);

}

  • 上一篇:程序員裝逼
  • 下一篇:中建五局有限公司在白溝有項目部嗎?那個招聘會是騙子嗎?
  • copyright 2024編程學習大全網