예제 #1
0
        /// <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));
        }
예제 #2
0
 /// <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));
 }