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 RSADemoTest
    {
        class Program
        {
            static void Main()
            {
                try
                {
                    string str_Plain_Text = "How are you?How are you?How are you?How are you?=-popopolA";
                    Console.WriteLine("明文:" + str_Plain_Text);
                    Console.WriteLine("长度:" + str_Plain_Text.Length.ToString());
                    Console.WriteLine();
                    RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
                    string str_Public_Key;
                    string str_Private_Key;
                    string str_Cypher_Text = RSA_Encrypt(str_Plain_Text, out str_Public_Key, out str_Private_Key);
                    Console.WriteLine("密文:" + str_Cypher_Text);
                    Console.WriteLine("公钥:" + str_Public_Key);
                    Console.WriteLine("私钥:" + str_Private_Key);
                    string str_Plain_Text2 = RSA_Decrypt(str_Cypher_Text, str_Private_Key);
                    Console.WriteLine("解密:" + str_Plain_Text2);
                    Console.WriteLine();
                    Console.ReadKey();
                }
                catch (ArgumentNullException)
                {
                    Console.WriteLine("Encryption failed.");
                }
            }
            //RSA加密,随机生成公私钥对并作为出参返回
            static public string RSA_Encrypt(string str_Plain_Text, out string str_Public_Key, out string str_Private_Key)
            {
                str_Public_Key = "";
                str_Private_Key = "";
                UnicodeEncoding ByteConverter = new UnicodeEncoding();
                byte[] DataToEncrypt = ByteConverter.GetBytes(str_Plain_Text);
                try
                {
                    RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
                    str_Public_Key = Convert.ToBase64String(RSA.ExportCspBlob(false));
                    str_Private_Key = Convert.ToBase64String(RSA.ExportCspBlob(true));
                    byte[] bytes_Cypher_Text = RSA.Encrypt(DataToEncrypt, false);
                    str_Public_Key = Convert.ToBase64String(RSA.ExportCspBlob(false));
                    str_Private_Key = Convert.ToBase64String(RSA.ExportCspBlob(true));
                    string str_Cypher_Text = Convert.ToBase64String(bytes_Cypher_Text);
                    return str_Cypher_Text;
                }
                catch (CryptographicException e)
                {
                    Console.WriteLine(e.Message);
                    return null;
                }
            }
            //RSA解密
            static public string RSA_Decrypt(string str_Cypher_Text, string str_Private_Key)
            {
                byte[] DataToDecrypt = Convert.FromBase64String(str_Cypher_Text);
                try
                {
                    RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
                    byte[] bytes_Public_Key = Convert.FromBase64String(str_Private_Key);
                    RSA.ImportCspBlob(bytes_Public_Key);
                    byte[] bytes_Plain_Text = RSA.Decrypt(DataToDecrypt, false);
                    UnicodeEncoding ByteConverter = new UnicodeEncoding();
                    string str_Plain_Text = ByteConverter.GetString(bytes_Plain_Text);
                    return str_Plain_Text;
                }
                catch (CryptographicException e)
                {
                    Console.WriteLine(e.ToString());
                    return null;
                }
            }
        }
    }
    View Code
  • 相关阅读:
    10分钟学会React Context API
    Soft skill
    前端-页面性能调试:Hiper
    js对secure的支持是没问题的,httponly是为限制js而产生的,当然httponly的cookie也不会被js创建
    关于go的不爽
    Windows上mxnet实战深度学习:Neural Net
    wget获取https资源
    使用windows上 mxnet 预编译版本
    NVIDA 提到的 深度框架库
    Windows下编译mxnet
  • 原文地址:https://www.cnblogs.com/eric-gms/p/5803617.html
Copyright © 2011-2022 走看看