Scala单行从字符串生成MD5哈希
发布时间:2020-12-16 18:34:37 所属栏目:安全 来源:网络整理
导读:我是 Scala的新手,我发现这个有趣的单线程从字符串生成十六进制编码的MD5哈希.我希望有人能帮助我更好地理解这一点. private def getMd5(inputStr: String): String = { val md: MessageDigest = MessageDigest.getInstance("MD5") md.digest(inputStr.getBy
我是
Scala的新手,我发现这个有趣的单线程从字符串生成十六进制编码的MD5哈希.我希望有人能帮助我更好地理解这一点.
private def getMd5(inputStr: String): String = { val md: MessageDigest = MessageDigest.getInstance("MD5") md.digest(inputStr.getBytes()).map(0xFF & _).map { "%02x".format(_) }.foldLeft("") {_ + _} } 谢谢. 解决方法
它只是这个java代码的模拟,但没有StringBuilder(这取决于你)
MessageDigest messageDigest = MessageDigest.getInstance("SHA-512"); String password = "secret"; messageDigest.update(password.getBytes()); byte[] bytes = messageDigest.digest(); StringBuilder stringBuilder = new StringBuilder(); for (byte aByte : bytes) { stringBuilder.append(Integer.toString((aByte & 0xff) + 0x100,16).substring(1)); } System.out.println(stringBuilder.toString()); 让我们考虑第二行: md.digest(inputStr.getBytes()).map(0xFF & _).map { "%02x".format(_) }.foldLeft("") {_ + _} > md.digest(inputStr.getBytes())—-从String获取字节 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |