zoukankan      html  css  js  c++  java
  • C# RSA加密

    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Security.Cryptography;
    using System.Text;
    using System.Threading.Tasks;

    namespace ConsoleApp1
    {
        class Program
        {
            static public RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
            static void Main(string[] args)
            {
                string cc = Guid.NewGuid().ToString();
                Console.WriteLine("加密数据: "+cc);
                var keyValuePair = GetKeyPair1();
                //Console.WriteLine(keyValuePair.Value);//打印私钥
                //导入公钥 加密
                RSA.ImportCspBlob(Convert.FromBase64String(keyValuePair.Key));
                byte[] b= RSA.Encrypt(Encoding.UTF8.GetBytes(cc), false);
                string bs = Convert.ToBase64String(b);
                Console.WriteLine("Encrypt加密后数据:"+bs.Length+" " + bs);
                //导入私钥解密
                RSA.ImportCspBlob(Convert.FromBase64String(keyValuePair.Value));
                byte[] d = RSA.Decrypt(b, false);
                Console.WriteLine("Decrypt解密后数据: " +Encoding.UTF8.GetString(d));
            }
            /// <summary>
            /// 获取一对 公钥 私钥方法
            /// </summary>
            /// <returns></returns>
            public static KeyValuePair<string, string> GetKeyPair1()
            {
                string public_Key = Convert.ToBase64String(RSA.ExportCspBlob(false));
                string private_Key = Convert.ToBase64String(RSA.ExportCspBlob(true));
                return new KeyValuePair<string, string>(public_Key, private_Key);
            }
        }
    }

  • 相关阅读:
    区块链python演示
    网页H5图片预览滑动模仿新浪微博插件
    AngularJS
    实现A Painless Q-learning Tutorial (深度学习笔记二)
    python线性拟合数据(深度学习笔记一)
    雪花特效登录页面
    ASP.NET Core中使用NLog记录日志
    EFCore中代码优先锲约和数据类型与数据库的对应关系
    所有数据库连接字符串示例
    看到12_234_678差点怀疑人生的事儿
  • 原文地址:https://www.cnblogs.com/fireblog/p/12198955.html
Copyright © 2011-2022 走看看