资源简介

C# RSA加密、支持JAVA格式公钥私钥,亲测很有用,真实有效,拒绝骗子,拒绝坑货,20分甩卖。

资源截图

代码片段和文件信息

using Org.BouncyCastle.Crypto;
using Org.BouncyCastle.Crypto.Engines;
using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.Security;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using WNSLP.Toolkits.Extensions;
namespace WNSLP.Toolkits.Common
{

    /************************************************************
     * 关于hashAlgorithm参数值有:MD5、SHA1、SHA256、SHA384、SHA512
     * 重要的事情说三遍,不懂的自己恶补去。
     * RSA加密解密:私钥解密,公钥加密。
     * RSA数字签名-俗称加签验签:私钥加签,公钥验签。  
     * RSA加密解密:私钥解密,公钥加密。
     * RSA数字签名-俗称加签验签:私钥加签,公钥验签。  
     * RSA加密解密:私钥解密,公钥加密。
     * RSA数字签名-俗称加签验签:私钥加签,公钥验签。 
     * ☆☆☆☆【注意这里所有的加密结果及加签结果都是base64的】☆☆☆☆☆
     * 
     * 
     * 
     * 
     * 
     * gzy整理
     */

    public abstract partial class RSAHelper
    {
        #region  加密


        /// 
        /// RSA加密
        /// 

        /// 
        /// 
        /// 
        public static string EncryptJava(string publicKeyJava string data string encoding = “UTF-8“)
        {
            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
            byte[] cipherbytes;
            rsa.FromPublicKeyJavaString(publicKeyJava);

            //☆☆☆☆.NET 4.6以后特有☆☆☆☆
            //HashAlgorithmName hashName = new System.Security.Cryptography.HashAlgorithmName(hashAlgorithm);
            //RSAEncryptionPadding padding = RSAEncryptionPadding.OaepSHA512;//RSAEncryptionPadding.CreateOaep(hashName);//.NET 4.6以后特有               
            //cipherbytes = rsa.Encrypt(Encoding.GetEncoding(encoding).GetBytes(data) padding);
            //☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

            //☆☆☆☆.NET 4.6以前请用此段代码☆☆☆☆
            cipherbytes = rsa.Encrypt(Encoding.GetEncoding(encoding).GetBytes(data) false);

            return Convert.Tobase64String(cipherbytes);
        }
        /// 
        /// RSA加密
        /// 

        /// 
        /// 
        /// 
        public static string EncryptCSharp(string publicKeyCSharp string data string encoding = “UTF-8“)
        {
            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
            byte[] cipherbytes;
            rsa.FromxmlString(publicKeyCSharp);

            //☆☆☆☆.NET 4.6以后特有☆☆☆☆
            //HashAlgorithmName hashName = new System.Security.Cryptography.HashAlgorithmName(hashAlgorithm);
            //RSAEncryptionPadding padding = RSAEncryptionPadding.OaepSHA512;//RSAEncryptionPadding.CreateOaep(hashName);//.NET 4.6以后特有               
            //cipherbytes = rsa.Encrypt(Encoding.GetEncoding(encoding).GetBytes(data) padding);
            //☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

            //☆☆☆☆.NET 4.6以前请用

评论

共有 条评论