最代碼廣告位
tianpl的gravatar頭像
tianpl2013-01-05 10:38:46

java 密碼工具類分享PasswordUtil.java

 * 字符串加密工具類。
 * 
 * @author tgl
 */
public class PasswordUtil {
	/**
	 * 使用3Des進行加密。
	 * 
	 * @param string 待加密的字符串
	 * @param key 密鑰
	 * @return 加密后的字符串
	 * @throws PasswordException 如果發送錯誤
	 */
	public static String tripleEncrypt(String string, String key) throws Exception {
		if (key.length() >= 48) {
			byte[] bytK1 = StringUtil.hexString2byteArray(key.substring(0, 16));
			byte[] bytK2 = StringUtil.hexString2byteArray(key.substring(16, 32));
			byte[] bytK3 = StringUtil.hexString2byteArray(key.substring(32, 48));

			byte[] bytP = string.getBytes();
			byte[] ep = encrypt(encrypt(encrypt(bytP, bytK1), bytK2), bytK3);

			return StringUtil.byteArray2HexString(ep);
		} else {
			throw new Exception("密鑰長度錯誤,無法進行3DES加密");
		}
	}

	/**
	 * 使用3Des進行解密。
	 * 
	 * @param string 待解密的字符串
	 * @param key 密鑰
	 * @return 解密后的字符串
	 * @throws PasswordException 如果發送錯誤
	 */
	public static String tripleDecrypt(String string, String key) throws Exception {
		if (key.length() >= 48) {
			byte[] bytK1 = StringUtil.hexString2byteArray(key.substring(0, 16));
			byte[] bytK2 = StringUtil.hexString2byteArray(key.substring(16, 32));
			byte[] bytK3 = StringUtil.hexString2byteArray(key.substring(32, 48));

			byte[] bytP = StringUtil.hexString2byteArray(string);
			byte[] dp = decrypt(decrypt(decrypt(bytP, bytK3), bytK2), bytK1);

			return new String(dp);
		} else {
			throw new Exception("密鑰長度錯誤,無法進行3DES加密");
		}
	}

PasswordUtil 密碼DES對稱加密解密工具類


AXIN編輯于2014-2-12 16:16:29


最代碼官方編輯于2014-10-10 9:49:22


打賞

文件名:PasswordUtil.java,文件大小:4K下載
頂部客服微信二維碼底部
>掃描二維碼關注最代碼為好友掃描二維碼關注最代碼為好友
2008大乐透走势图