/// <summary>暗号化された文字列を復号化する</summary> /// <param name="sourceString">暗号化された文字列</param> /// <param name="password">暗号化に使用したパスワード</param> /// <param name="esa"> /// 対称アルゴリズムによる /// 暗号化サービスプロバイダの種類 /// </param> /// <param name="salt">ソルト</param> /// <param name="stretching">ストレッチング</param> /// <returns> /// 対称アルゴリズムで /// 復号化された文字列 /// </returns> public static string DecryptString( string sourceString, string password, EnumSymmetricAlgorithm esa, byte[] salt, int stretching) { // 暗号化文字列をbyte型配列に変換する(Base64) byte[] source = CustomEncode.FromBase64String(sourceString); // 復号化(UTF-8 Enc) return(CustomEncode.ByteToString( SymmetricCryptography.DecryptBytes(source, password, esa, salt, stretching), CustomEncode.UTF_8)); }
/// <summary>暗号化されたバイト配列を復号化する</summary> /// <param name="source">暗号化されたバイト配列</param> /// <param name="password">暗号化に使用したパスワード</param> /// <param name="esa"> /// 対称アルゴリズムによる /// 暗号化サービスプロバイダの種類 /// </param> /// <param name="salt">ソルト</param> /// <returns> /// 対称アルゴリズムで /// 復号化されたバイト配列 /// </returns> public static byte[] DecryptBytes( byte[] source, string password, EnumSymmetricAlgorithm esa, byte[] salt) { return(SymmetricCryptography.DecryptBytes( source, password, esa, salt, SymmetricCryptography.Stretching)); }