• 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);
            }
        }
    }

  • 相关阅读:
    LintCode Python 简单级题目 41.最大子数组
    helm深入学习
    kubernetes组件helm
    解压war包
    linux打开进程数测试
    docker使用centos7系统构建oraclejdk镜像
    docker使用centos7系统构建tomcat镜像
    docker使用alpine系统构建tomcat镜像
    docker制作共享jdk的tomcat镜像
    java cpu使用率高异常排查
  • 原文地址:https://www.cnblogs.com/fireblog/p/12198955.html
Copyright © 2020-2023  润新知