/// <summary>文字列を暗号化する</summary> /// <param name="sourceString">暗号化する文字列</param> /// <param name="publicKey">暗号化に使用する公開鍵</param> /// <returns>非対称アルゴリズムで暗号化された文字列</returns> public static string EncryptString(string sourceString, string publicKey) { // 元文字列をbyte型配列に変換する(UTF-8 Enc) byte[] source = CustomEncode.StringToByte(sourceString, CustomEncode.UTF_8); // 暗号化(Base64) return(CustomEncode.ToBase64String( ASymmetricCryptography.EncryptBytes(source, publicKey))); }
/// <summary>暗号化された文字列を復号化する</summary> /// <param name="sourceString">暗号化された文字列</param> /// <param name="privateKey">復号化に使用する秘密鍵</param> /// <returns>非対称アルゴリズムで復号化された文字列</returns> public static string DecryptString(string sourceString, string privateKey) { // 暗号化文字列をbyte型配列に変換する(Base64) byte[] source = CustomEncode.FromBase64String(sourceString); // 復号化(UTF-8 Enc) return(CustomEncode.ByteToString( ASymmetricCryptography.DecryptBytes(source, privateKey), CustomEncode.UTF_8)); }