maxun518 2014-08-22 05:05 采纳率: 0%
浏览 758

有会 C# 转 Java 代码么,求教如下代码。谢谢

public static string Sign(string prestr, string key, string _input_charset)
{
StringBuilder sb = new StringBuilder(32);

        prestr = prestr + key;

        MD5 md5 = new MD5CryptoServiceProvider();
        byte[] t = md5.ComputeHash(Encoding.GetEncoding(_input_charset).GetBytes(prestr));
        for (int i = 0; i < t.Length; i++)
        {
            sb.Append(t[i].ToString("x").PadLeft(2, '0'));
        }

        return sb.ToString();
    }
  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 12:27
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这是一个简单的MD5加密函数的Java实现,它使用了Apache Commons Lang库中的MD5类:

    import org.apache.commons.codec.binary.Hex;
    import org.apache.commons.lang3.StringUtils;
    
    /**
     * 使用MD5算法对字符串进行加密。
     */
    public class Md5Encryptor {
        private final String algorithm = "MD5";
    
        /**
         * 加密字符串
         *
         * @param inputStr 待加密的字符串
         * @return 加密后的字符串
         */
        public String encrypt(String inputStr) {
            try {
                // 创建一个MD5加密器
                MessageDigest digest = MessageDigest.getInstance(algorithm);
    
                // 将输入字符串转换为字节数组
                byte[] bytes = inputStr.getBytes();
    
                // 对字节数组执行加密操作
                byte[] encrypted = digest.digest(bytes);
    
                // 将加密后的字节数组转换为十六进制表示形式
                return Hex.encodeHexString(encrypted);
            } catch (NoSuchAlgorithmException e) {
                throw new RuntimeException(e);
            }
        }
    }
    

    你可以根据你的需求修改这个代码,例如添加错误处理和日志记录等。

    评论

报告相同问题?

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境