• 大小: 617KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签: 私钥  C#  

资源简介

用于私钥加密 公钥解密用于私钥加密 公钥解密用于私钥加密 公钥解密

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Org.BouncyCastle.Asn1.Pkcs;
using Org.BouncyCastle.Asn1.X509;
using Org.BouncyCastle.Crypto.Generators;
using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.Math;
using Org.BouncyCastle.Pkcs;
using Org.BouncyCastle.Security;
using Org.BouncyCastle.Crypto.Engines;
using Org.BouncyCastle.X509;
using Org.BouncyCastle.Crypto;
using Org.BouncyCastle.Asn1;
using Org.BouncyCastle.Crypto.Encodings;

namespace CryptionUtils
{
    public class RSAForJava
    {

        public RSAForJava()
        {
             
        }
        /// 
        /// KEY 结构体
        /// 

        public struct RSAKEY
        {
            /// 
            /// 公钥
            /// 

            public string PublicKey
            {
                get;
                set;
            }
            /// 
            /// 私钥
            /// 

            public string PrivateKey
            {
                get;
                set;
            }
        }
        public RSAKEY GetKey()
        {
            //RSA密钥对的构造器  
            RsaKeyPairGenerator keyGenerator = new RsaKeyPairGenerator();

            //RSA密钥构造器的参数  
            RsaKeyGenerationParameters param = new RsaKeyGenerationParameters(
                Org.BouncyCastle.Math.BigInteger.ValueOf(3)
                new Org.BouncyCastle.Security.SecureRandom()
                1024   //密钥长度  
                25);
            //用参数初始化密钥构造器  
            keyGenerator.Init(param);
            //产生密钥对  
            AsymmetricCipherKeyPair keyPair = keyGenerator.GenerateKeyPair();
            //获取公钥和密钥  
            AsymmetricKeyParameter publicKey = keyPair.Public;
            AsymmetricKeyParameter privateKey = keyPair.Private;

            SubjectPublicKeyInfo subjectPublicKeyInfo = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(publicKey);
            PrivateKeyInfo privateKeyInfo = PrivateKeyInfoFactory.CreatePrivateKeyInfo(privateKey);

            
            Asn1object asn1objectPublic = subjectPublicKeyInfo.ToAsn1object();

            byte[] publicInfoByte = asn1objectPublic.GetEncoded(“UTF-8“);
            Asn1object asn1objectPrivate = privateKeyInfo.ToAsn1object();
            byte[] privateInfoByte = asn1objectPrivate.GetEncoded(“UTF-8“);  

            RSAKEY item = new RSAKEY()
            {
                PublicKey =Convert.Tobase64String(publicInfoByte)
                PrivateKey=Convert.Tobase64String(privateInfoByte)
            };
            return item;
        }
        private AsymmetricKeyParameter GetPublicKeyParameter(string s)
        {
            s = s.Replace(“\r“ ““).Replace(“\n“ ““).Replace(“ “““);
            byte[] publicInfoByte = Convert.Frombase64String(s);
            Asn1object pubKeyObj = Asn1object.FromByteArray(publicInfoByt

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    2236416  2015-12-28 21:38  私钥加密公钥解密JAVA、C#、PHP互通\dll\BouncyCastle.Crypto.dll

     文件       5449  2017-10-28 09:28  私钥加密公钥解密JAVA、C#、PHP互通\RsaHelper.cs

     文件        782  2018-04-25 09:42  私钥加密公钥解密JAVA、C#、PHP互通\调用方法.txt

     目录          0  2018-04-25 09:51  私钥加密公钥解密JAVA、C#、PHP互通\dll

     目录          0  2018-04-25 09:51  私钥加密公钥解密JAVA、C#、PHP互通

----------- ---------  ---------- -----  ----

              2242647                    5


评论

共有 条评论