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

  • 相关阅读:
    Extjs项目使用技巧————文件上传
    项目图片整理
    ExtJs 分组表格控件
    ExtJS实现有机菜单的功能
    ExtJs grid可拖拽行
    ExtJs 分组表格控件----监听
    ExtJS点击添加一个按钮弹出prompt添加combo中
    ExtJS——添加个用户页面
    mysql查询语句个人总结;
    java倒计时器
  • 原文地址:https://www.cnblogs.com/fireblog/p/12198955.html
Copyright © 2011-2022 走看看