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);
            }
        }
    }
  • 相关阅读:
    iOS沙盒目录
    iOS 1-2年经验面试参考题
    iOS 深浅拷贝
    MacOS10.11的/usr/bin目录不可写后class-dump的处理办法
    AFNetWorking 队列请求
    iOS 宏(define)与常量(const)的正确使用
    【译】使用UIKit进行面向对象的编程
    零基础如何系统地学习前端开发?
    加载UI
    __weak
  • 原文地址:https://www.cnblogs.com/hnzheng/p/12932263.html
Copyright © 2011-2022 走看看