/// <要約> /// AES暗号化(高度暗号化規格は、現在のAES標準Rijndaelアルゴリズムという暗号化アルゴリズムの標準、高速で、高いセキュリティレベル、実現の次の世代である) /// </要約> // / ます。<param name = "encryptString"> 平文を暗号化する</ param>の /// <PARAM = "encryptkey"名> 暗号化キー</ param>の /// <戻り値> </戻り値> [HttpPost(" テスト" )] パブリック 文字列AesEncrypt([FromBody]リクエスト要求) { 文字列 encryptString = request.encryptString; 列 encryptkey = request.encryptKey。 もし(ストリング.IsNullOrEmpty(encryptString)) { スロー(新しい新しい例外(" 平文空できない" )); } IF(列.IsNullOrEmpty(encryptkey)) { スロー(新しい新しい例外(" キーは空白ではないかもしれない" )); } VAR = mStrEncrypt "" ; VAR mBtIv = Convert.FromBase64String(" Rkb4jvUy / ye7Cd7k89QQgQ == " ); VAR mAesProvider = Rijndael.Create(); 試してみます { // 待加密明文串转为バイト格式 VAR mBtEncryptString = Encoding.UTF8.GetBytes(encryptString)。 VAR mStream = 新しいのMemoryStream(); VaRの mCsstream = 新しいCryptoStream(mStream、 mAesProvider.CreateEncryptor(Encoding.UTF8.GetBytes(encryptKey)、mBtIv)、CryptoStreamMode.Write)。 mCsstream.Write(mBtEncryptString、0 、mBtEncryptString.Length)。 mCsstream.FlushFinalBlock(); mStrEncrypt = Convert.ToBase64String(mStream.ToArray())。 mStream.Close(); mStream.Dispose(); mCsstream.Close(); mCsstream.Dispose(); } キャッチ(のIOExceptionのEX) { スローEXと、 } キャッチ(CryptographicExceptionのEX) { スローEX。 } キャッチ(ArgumentExceptionがのEX) { スローEX。 } キャッチ(例外例) { スローEXと、 } 最後に 、{ mAesProvider.Clear()。 } 戻りmStrEncrypt。 } /// <概要> /// AES復号(高度暗号化標準は、暗号化アルゴリズムの標準、高速で、高いセキュリティレベル、実現現在AES標準Rijndaelアルゴリズムの次の世代である) /// </要約> /// <PARAM NAME = "decryptStringは"> 暗号文を解読すること</ PARAM> /// <PARAM NAME = "decryptKey"> 復号鍵</ PARAM> /// <戻り値> </戻り> [HttpPost(" 復号化" )] パブリック 文字列AesDecrypt([FromBody]リクエスト要求) { 文字列 decryptString = request.encryptString; 列文字列= decryptKey request.encryptKey; IF(.IsNullOrEmpty(decryptString)) { スロー(新しい新しい例外(" 暗号文が空できない" )); } IF(列.IsNullOrEmpty(decryptKey)) { スロー(新しい新しい例外(" キーをすることはできません空" )); } VAR mStrDecrypt = " " ; VAR mBtIv = Convert.FromBase64String(" Rkb4jvUy / ye7Cd7k89QQgQ == " ); VAR mAesProvider = Rijndael.Create()。 試す { VAR mBtDecryptString = Convert.FromBase64String(decryptString)。 VAR mStream = 新しいのMemoryStream(); VAR mCsstream = 新しいCryptoStream(mStream、 mAesProvider.CreateDecryptor(Encoding.UTF8.GetBytes(decryptKey)、mBtIv)、CryptoStreamMode.Write)。 mCsstream.Write(mBtDecryptString、0 、mBtDecryptString.Length)。 mCsstream.FlushFinalBlock(); mStrDecrypt = Encoding.Default.GetString(mStream.ToArray())。 mStream.Close(); mStream.Dispose(); mCsstream.Close(); mCsstream.Dispose(); } キャッチ(のIOExceptionのEX) { スローEXと、 } キャッチ(CryptographicExceptionのEX) { スローEX。 } キャッチ(ArgumentExceptionがのEX) { スローEX。 } キャッチ(例外例) { スローEXと、 } 最後に { mAesProvider.Clear()。 } 戻りmStrDecrypt。 }