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);
            }
        }
    }
  • 相关阅读:
    [Flink原理介绍第四篇】:Flink的Checkpoint和Savepoint介绍
    Flink -- Barrier
    深入理解Flink ---- End-to-End Exactly-Once语义
    深入理解Flink ---- 系统内部消息传递的exactly once语义
    flink watermark介绍
    flink中对于window和watermark的一些理解
    Apache Flink:详细入门
    flink学习之十一-window&EventTime实例
    Lambda语法
    String s = “1a2a3a4a” 解码为 “1234”
  • 原文地址:https://www.cnblogs.com/hnzheng/p/12932263.html
Copyright © 2011-2022 走看看