AES加密 對應的 C 方法

2021-08-10 22:00:40 字數 2783 閱讀 1816

對應c#加密方法
#region aes加解密

/// ///aes加密(加密步驟)

///1,加密字串得到2進製陣列;

///2,將2禁止陣列轉為16進製制;

///3,進行base64編碼

///

/// 要加密的字串

/// 金鑰

public string encrypt(string toencrypt, string key)

/// /// aes解密(解密步驟)

/// 1,將base64字串轉為16進製制陣列

/// 2,將16進製制陣列轉為字串

/// 3,將字串轉為2進製資料

/// 4,用aes解密資料

///

/// 已加密的內容

/// 金鑰

public string decrypt(string encryptedsource, string key)

/// /// 2進製轉16進製制

///

string hex_2to16(byte bytes)

for (int i = 0; i < ilength; i++)

hexstring = strb.tostring();

}return hexstring;

}/// /// 16進製制轉2進製

///

byte hex_16to2(string hexstring)

byte returnbytes = new byte[hexstring.length / 2];

for (int32 i = 0; i < returnbytes.length; i++)

return returnbytes;

}#endregion

/** * 加密--把加密後的byte陣列先進行二進位制轉16進製制在進行base64編碼

* @param ssrc

* @param skey

* @return

* @throws exception

*/public static string encrypt(string ssrc, string skey) throws exception

if (skey.length() != 16)

byte raw = skey.getbytes("ascii");

secretkeyspec skeyspec = new secretkeyspec(raw, "aes");

cipher cipher = cipher.getinstance("aes");

cipher.init(cipher.encrypt_mode, skeyspec);

byte encrypted = cipher.dofinal(ssrc.getbytes("utf-8"));

string tempstr = parsebyte2hexstr(encrypted);

base64encoder encoder = new base64encoder();

return encoder.encode(tempstr.getbytes("utf-8"));

} /**

*解密--先 進行base64解碼,在進行16進製制轉為2進製然後再解碼

* @param ssrc

* @param skey

* @return

* @throws exception

*/public static string decrypt(string ssrc, string skey) throws exception

if (skey.length() != 16)

byte raw = skey.getbytes("ascii");

secretkeyspec skeyspec = new secretkeyspec(raw, "aes");

cipher cipher = cipher.getinstance("aes");

cipher.init(cipher.decrypt_mode, skeyspec);

base64encoder encoder = new base64encoder();

byte encrypted1 = encoder.decode(ssrc);

string tempstr = new string(encrypted1, "utf-8");

encrypted1 = parsehexstr2byte(tempstr);

byte original = cipher.dofinal(encrypted1);

string originalstring = new string(original, "utf-8");

return originalstring;

} /**

* 將二進位制轉換成16進製制

* * @param buf

* @return

*/public static string parsebyte2hexstr(byte buf)

} return sb.tostring();

} /**

* 將16進製制轉換為二進位制

* * @param hexstr

* @return

*/public static byte parsehexstr2byte(string hexstr)

return result;

}

AES加密解密方法

aes加密解密方法 加密方法 param data 要加密的資料 param key 加密key param iv 加密iv return 加密的結果 throws exception public static string aesencode string data,string key,str...

C 加密解密 AES

using system namespace encrypt aes解密 需要解密字串 解密後字串 public static string decrypt string str aes加密 需要加密的字串 32位金鑰 加密後的字串 public static string encrypt stri...

C 實現對AES加密和解密的方法

aes簡介 aes the advanced encryption standard 是美國國家標準與技術研究所用於加密電子資料的規範。它被預期能成為人們公認的加密包括金融 電信和 數字資訊的方法。aes 是乙個新的可以用於保護電子資料的加密演算法。明確地說,aes 是乙個迭代的 對稱金鑰分組的密碼...