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);
            }
        }
    }
  • 相关阅读:
    算法题:单调递增的数字
    算法题:搜索旋转排序数组
    算法题:K个一组翻转链表
    django错误
    virtualenvwrapper出错
    谷歌浏览器css样式不显示问题
    Python爬取豆瓣电子书信息
    flask secret key的作用
    【Hibernate】--实体状体与主键生成策略
    【Struts2+Spring3+Hibernate3】SSH框架整合实现CRUD_1.3
  • 原文地址:https://www.cnblogs.com/hnzheng/p/12932263.html
Copyright © 2011-2022 走看看