当前位置:编程学习 > C#/ASP.NET >>

求助,将以下java(MD5加密算法)代码转换成C#?

package com.oloa.common.crypt;

import org.jasypt.digest.StandardStringDigester;
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
import org.jasypt.util.password.rfc2307.RFC2307MD5PasswordEncryptor;

public class CipherUtil {


public static String encypt(String inputStr){
RFC2307MD5PasswordEncryptor enpt = new RFC2307MD5PasswordEncryptor();
return enpt.encryptPassword(inputStr);
}

public static void main(String[] args){
String s1 = "000000";
String s2 = "123456";
String s3 = "567890";

System.out.println(s1+"     "+encypt(s1));
System.out.println(s2+"     "+encypt(s2));
System.out.println(s3+"     "+encypt(s3));


}


}
--------------------编程问答--------------------
using System;
using System.Security.Cryptography;

namespace ConsoleApplication1
{
    class Program
    {

        static void Main(string[] args)
        {
            String s1 = "000000";
            String s2 = "123456";
            String s3 = "567890";
            Console.WriteLine(MD5Encrypt(s1));
            Console.WriteLine(MD5Encrypt(s2));
            Console.WriteLine(MD5Encrypt(s3));
  
        }

        ///   <summary>
        ///   给一个字符串进行MD5加密
        ///   </summary>
        ///   <param   name="strText">待加密字符串</param>
        ///   <returns>加密后的字符串</returns>
        public static string MD5Encrypt(string strText)
        {
            MD5 md5 = new MD5CryptoServiceProvider();
            byte[] result = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(strText));
            return System.Text.Encoding.Default.GetString(result);
        } 

    }
}
--------------------编程问答--------------------
引用 1 楼 ooo7880000 的回复:
C# code
using System;
using System.Security.Cryptography;

namespace ConsoleApplication1
{
    class Program
    {

        static void Main(string[] args)
        {
            String s1 =……


不知道这样的结果会不会相同。
Java引用了RFC2003的包,C#版的使用了内置的MD5摘要算法。
lz最好比对一下结果。 --------------------编程问答-------------------- 就是因为不一样,我才在这里找的答案,JAVA中的结果是:
000000    ZwsUcorZkCrsujLiL6T2vQ==
123456    4QrcOUm6Wau+VuBX8g+IPg==
567890    ugCBnyYyh68f8BAMWjIzVQ==

不知道为什么是这个结果,我在C#中怎么配对,也对不出来这个结果,我在C#中用MD5加密之后得到的要么是16位的密文,要么就是32位的密文。


引用 2 楼 sunzongbao2007 的回复:
引用 1 楼 ooo7880000 的回复:
C# code
using System;
using System.Security.Cryptography;

namespace ConsoleApplication1
{
class Program
{

static void Main(string[] args)
{
String s1 =……


不知道……
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,