java技术圈 为您找到相关结果 3

关于MD5,SALT与SHA1的部分HASH算法解析

在这里我只贴下简单实现,有兴趣了解shiro salt的,大家可以去看看源码哈,或者可以自己实现一些简单的md5,sha1,base64等的简易salt实现,以下示例基本都有注释,如有不对,欢迎指正 package com.zy.md; import java.security.MessageDigest; import java.util.Random; /** * Created by root on 16-10-2. */ public class Test { //main测试类 public static void main(String[] args) { String result = getMD5("zhoudazhuang"); System.err.println(res...阅读全文

博文 2019-04-04 17:47:05 www.allocmem.com

十进制的0.1 为什么不能用二进制很好的表示?_月夜归醉

二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。 补码计算法定义:非负数的补码是其原码本身;负数的补码是其绝对值的原码最高位符号位不变,其它位取反,再加1。 正整数转二进制: 正整数转成二进制。要点一定一定要记住哈:除二取余,然后倒序排列,高位补零。 21 /2 -------------------------------余 1 10/2 -------------------------------余 0...阅读全文

博文 2020-09-29 11:02:37 CSDN博客

byte 为什么要 & 0xff?_iblade的博客

在MD5运算中 通常会把MD5(十六进制的byte[])转成HexString, 会用到一个方法 private static String bytesToHex1(byte[] md5Array) { StringBuilder strBuilder = new StringBuilder(); for (int i = 0; i < md5Array.length; i++) { int temp = 0xff & md5Array[i];//TODO:此处为什么添加 0xff & ? String hexString = Integer.toHexString(temp); if (hexString.length() == 1) {//如果是十六进制的0f,默认只显示f,此时要补上0...阅读全文

博文 2021-09-16 20:35:04 CSDN博客