예제 #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 EncryptString(
            string sourceString, string password, EnumSymmetricAlgorithm esa, byte[] salt, int stretching)
        {
            // 元文字列をbyte型配列に変換する(UTF-8 Enc)
            byte[] source = CustomEncode.StringToByte(sourceString, CustomEncode.UTF_8);

            // 暗号化(Base64)
            return(CustomEncode.ToBase64String(
                       SymmetricCryptography.EncryptBytes(source, password, esa, salt, stretching)));
        }
예제 #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[] EncryptBytes(
     byte[] source, string password, EnumSymmetricAlgorithm esa, byte[] salt)
 {
     return(SymmetricCryptography.EncryptBytes(
                source, password, esa, salt, SymmetricCryptography.Stretching));
 }