文章详情页
Java 不固定的几组数字加密后得到一个还是数字的方法有没
问题描述
有可能三组,也有可能四组,但是都是数字,然后根据这三组或者这四组得出一个数字,
比如12,34,10,如果直接连起来123410这样长度有厂有短的,有没有像MD5加密一样,得到的长度一样,又只有数字
问题解答
回答1:加密得到的结果是byte[],只是大家默认使用的时候转成了16进制字符串(还是base64?这点不确定)其实不管什么类型,在计算机里都是数字(byte)简单粗暴,字符串getBytes你就能拿到数字了
回答2:自己编写一个hash函数呗,比如将数字映射到一个其它的数字,比如12345,每个数字都执行+3mod10操作,则变为45678,然后再将45678与中每一个数字进行异或操作或者与操作,得到新的数字,然后就是如何固定长度,采用一个随机算法,如果长度太长,就随机选择其中的一部分值,如果太短,就添加一个随机序列。但是上面类似做法存在缺陷,没有验证,不建议使用在实际项目中,特别是数据库存储密码。对于实际项目,建议询问公司安全人员
标签:
java
相关文章:
1. 代码如下,java用BigDecimal四舍五入怎么还有问题呀?哪种方式是完全没有问题的?2. javascript - 关于js原生事件的绑定与解除绑定3. HTML5禁止img预览该怎么解决?4. javascript - 函数声明和匿名函数有什么不同?(前端小白求助。。)5. mysql - 数据库建字段,默认值空和empty string有什么区别 1106. javascript - 求助关于js正则问题7. angular.js - 在ionic下,利用javascript导入百度地图,pc端可以显示,移动端无法显示8. dologin说是没有定义9. javascript - 关于js,alert()阻塞的问题10. mybatis - Java关于Mysql的随机id生成
排行榜