IAsymmetricEncryptor.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System;
  2. namespace PaySharp.Alipay.Util.Asymmetric
  3. {
  4. /// <summary>
  5. /// 非对称加密算法接口
  6. /// </summary>
  7. public interface IAsymmetricEncryptor
  8. {
  9. /// <summary>
  10. /// 计算指定内容的签名
  11. /// </summary>
  12. /// <param name="content">待签名的原文</param>
  13. /// <param name="charset">待签名的原文的字符集编码</param>
  14. /// <param name="privateKey">私钥字符串</param>
  15. /// <returns>签名字符串</returns>
  16. string Sign(string content, string charset, string privateKey);
  17. /// <summary>
  18. /// 验证指定内容的签名是否正确
  19. /// </summary>
  20. /// <param name="content">待校验的原文</param>
  21. /// <param name="charset">待校验的原文的字符集编码</param>
  22. /// <param name="publicKey">公钥字符串</param>
  23. /// <param name="sign">签名字符串</param>
  24. /// <returns>true:验证通过;false:验证不通过</returns>
  25. bool Verify(string content, string charset, string publicKey, string sign);
  26. /// <summary>
  27. /// 对明文进行非对称加密
  28. /// </summary>
  29. /// <param name="plainText">明文字符串</param>
  30. /// <param name="charset">明文的字符集编码</param>
  31. /// <param name="publicKey">公钥字符串</param>
  32. /// <returns>密文的Base64编码字符串</returns>
  33. string Encrypt(string plainText, string charset, string publicKey);
  34. /// <summary>
  35. /// 对密文进行非对称解密
  36. /// </summary>
  37. /// <param name="cipherTextBase64">密文Base64编码字符串</param>
  38. /// <param name="charset">明文的字符集编码</param>
  39. /// <param name="privateKey">私钥字符串</param>
  40. /// <returns>明文</returns>
  41. string Decrypt(string cipherTextBase64, string charset, string privateKey);
  42. }
  43. }