zoukankan      html  css  js  c++  java
  • RSA

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Security.Cryptography;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApp1
    {
        public class Rsa
        {
            /// <summary>
            ///  生成key  方法1 
            /// </summary>
            /// <returns></returns>
            public static (string publickey, string privateKey) GetBase64keys()
            {
                RSACryptoServiceProvider rSA = new RSACryptoServiceProvider();
                string publicKey = Convert.ToBase64String(rSA.ExportCspBlob(false));
                string privateKey = Convert.ToBase64String(rSA.ExportCspBlob(false));
                return (publickey: publicKey, privateKey: privateKey);
            }
            /// <summary>
            ///   生成key 方法2
            /// </summary>
            /// <returns></returns>
            public static (string publickey, string privateKey) GetToXmlkeys()
            {
                RSACryptoServiceProvider rSA = new RSACryptoServiceProvider();
                string publicKey = rSA.ToXmlString(false);
                string privateKey = rSA.ToXmlString(true);
                return (publickey: publicKey, privateKey: privateKey);
            }
            public static string EncryptByBase64(string privateKey, string text)
            {
                RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
                rsa.ImportCspBlob(Convert.FromBase64String(privateKey));
                var bytes = Encoding.UTF8.GetBytes(text);
                var result = rsa.Encrypt(bytes, false);
                return Encoding.UTF8.GetString(result);
            }
            public static string DecryptByBase64(string publicKey, string text)
            {
                RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
                rsa.ImportCspBlob(Convert.FromBase64String(publicKey));
                var bytes = Encoding.UTF8.GetBytes(text);
                var result = rsa.Decrypt(bytes, false);
                return Encoding.UTF8.GetString(result);
            }
        }
    }
  • 相关阅读:
    获取html页面传递过来的参数
    jqueryWeiui+pagehelper滚动加载(实现分页)
    【JS】js随笔
    【Java】Java基础
    【FrameWork】Hibernate
    【FrameWork】Struts2
    去掉inline-block间的间隙
    javascript单例模式
    关于call/apply与bind的一点误解
    git笔记-常用命令
  • 原文地址:https://www.cnblogs.com/hnzheng/p/12932263.html
Copyright © 2011-2022 走看看