葡萄DDS 2022-03-25 10:07 采纳率: 56.3%
浏览 323
已结题

这一段用JAVA实现的加密代码,用C#如何实现

看来真的挺难,各位的代码我都研究试过,都不行,分就散了吧,也谢谢各位了!

  • 写回答

4条回答 默认 最新

  • 一起随缘 2022-03-25 14:35
    关注

    代码转换如下,望采纳

    using System;
    
    public class SignatureTookKit
    {
        public static SecureRandom secRandom = new SecureRandom();
        public const string DEFAULT_PROVIDER_NAME = "BC";
        public static Signature signature = null;
    
    //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
    //ORIGINAL LINE: public static byte[] digestSign(byte[] seed, byte[] data) throws Exception
        public static sbyte[] digestSign(sbyte[] seed, sbyte[] data)
        {
            object retr = null;
    
            try
            {
                MessageDigest e = MessageDigest.getInstance("SHA-256", "BC");
                e.update(seed);
                e.update(data);
                sbyte[] retr1 = e.digest();
                return retr1;
            }
            catch (Exception arg3)
            {
    
                throw arg3;
            }
        }
    
        static SignatureTookKit()
        {
            if (Security.getProvider("BC") == null)
            {
                try
                {
                    string e = "org.bouncycastle.jce.provider.BouncyCastleProvider";
                    object o = System.Activator.CreateInstance(Type.GetType(e));
                    Security.addProvider((Provider) o);
                }
                catch (Exception arg1)
                {
                    throw arg1;
                }
            }
    
        }
    }
    
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月1日
  • 修改了问题 4月1日
  • 赞助了问题酬金40元 3月25日
  • 赞助了问题酬金10元 3月25日
  • 展开全部