C#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
private string Encrypt(string plainText) { // 半角16文字(128bit)、24文字(192bit)、32文字(256bit)から選ぶ。 byte[] key = Encoding.UTF8.GetBytes(@"u5vwged9ky6y6vii"); // Block Sizeと同じにする。半角16文字(128bit) byte[] iv = Encoding.UTF8.GetBytes(@"8knshgxqy4uf89gq"); byte[] byteValue = Encoding.UTF8.GetBytes(plainText); var byteLength = byteValue.Length; using (var aes = Aes.Create()) using (var encryptor = aes.CreateEncryptor(key, iv)) { var encryptValue = encryptor.TransformFinalBlock(byteValue, 0, byteLength); var base64Value = Convert.ToBase64String(encryptValue); return base64Value; } } public static string Decrypt(string encryptText) { byte[] key = Encoding.UTF8.GetBytes(@"u5vwged9ky6y6vii"); byte[] iv = Encoding.UTF8.GetBytes(@"8knshgxqy4uf89gq"); var byteValue = Convert.FromBase64String(encryptText); var byteLength = byteValue.Length; using (var aes = Aes.Create()) using (var decryptor = aes.CreateDecryptor(key, iv)) { var decryptValue = decryptor.TransformFinalBlock(byteValue, 0, byteLength); var stringValue = Encoding.UTF8.GetString(decryptValue); return stringValue; } } |