NewGaoKaoApi/PaymentSDK/AliPay/Util/Asymmetric/IAsymmetricEncryptor.cs

48 lines
1.9 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
namespace Aop.Api.Util.Asymmetric
{
/// <summary>
/// 非对称加密算法接口
/// </summary>
public interface IAsymmetricEncryptor
{
/// <summary>
/// 计算指定内容的签名
/// </summary>
/// <param name="content">待签名的原文</param>
/// <param name="charset">待签名的原文的字符集编码</param>
/// <param name="privateKey">私钥字符串</param>
/// <returns>签名字符串</returns>
string Sign(string content, string charset, string privateKey);
/// <summary>
/// 验证指定内容的签名是否正确
/// </summary>
/// <param name="content">待校验的原文</param>
/// <param name="charset">待校验的原文的字符集编码</param>
/// <param name="publicKey">公钥字符串</param>
/// <param name="sign">签名字符串</param>
/// <returns>true验证通过false验证不通过</returns>
bool Verify(string content, string charset, string publicKey, string sign);
/// <summary>
/// 对明文进行非对称加密
/// </summary>
/// <param name="plainText">明文字符串</param>
/// <param name="charset">明文的字符集编码</param>
/// <param name="publicKey">公钥字符串</param>
/// <returns>密文的Base64编码字符串</returns>
string Encrypt(string plainText, string charset, string publicKey);
/// <summary>
/// 对密文进行非对称解密
/// </summary>
/// <param name="cipherTextBase64">密文Base64编码字符串</param>
/// <param name="charset">明文的字符集编码</param>
/// <param name="privateKey">私钥字符串</param>
/// <returns>明文</returns>
string Decrypt(string cipherTextBase64, string charset, string privateKey);
}
}