2020年8月14日,我发布了WJLHA2.0.1版的哈希算法,该算法对标于SHA256、MD5、SM3等哈希算法。感兴趣的朋友可以测试一下碰撞。
C/C++版本:
WJLHA2.0.1 For X86 Ubuntu Linux.zip
WJLHA2.0.1 For Microsoft Visual Studio.zip
JAVA版本:
GitHub开源平台连接:
JAVA和C/C++版本实现了互通,同一个数据用不同的语言版本算出的哈希值相同。
有些朋友问我,哈希算法用来干什么的。我跟他们说哈希是网络信息安全的核心算法之一,也是数据防篡改,数字签名,CA证书等核心算法。
哪些地方用了哈希算法?
- 安全超文本协议(HTTPS)
下面以腾讯的官方网站为例,告诉大家如何查看这些网站用的是什么哈希算法。腾讯的官方网站:https//www.qq.com.
第一步:在浏览器中进入这个网址https//www.qq.com。
第二步:右击网站首页的空白位置,然后选择【属性】
第三步:进入【证书】
第四步:进入【详细信息】
接下来即可看到里面使用的哈希算法:
接下来,大家可以按照同样的方法得出:百度、阿里、奇虎360、小米、京东、网易、搜狐、新浪、微信支付等网站全部使用的是SHA256。
有人问:这个算法已经植入到了浏览器的底层协议了,如何改变?
我想说的有四点:第一,http或https也只是基于TCP/IP协议的超文本协议;第二,像Digicert,Geotrust,Comodo,Symantec等SSL证书品牌,也只是一些公司弄起来的而已;第三,国内很多公司也就搞点概念玩玩平台,关键是政府还很受用;第四,现在不改变,等到国外通过制裁来关闭证书的根服务器验证?自主可控在哪?信息安全在哪?
- 在线支付
哈希算法还有一个比较关键的应用场景,就是网上银行和在线支付接口等。我们看看微信支付提供的官方接口协议要求:
有图就有真相。相信感兴趣的朋友也去找找支付宝、京东等支付开发者接口是如何定义的吧。这些公司设计的接口,这些协议或接口实际上也就是这些公司自己定义的而已。
接下来,我们看看中国银行的证书等信息。
根证书验证掌握在他国手上,我不明白自主可控,信息安全如何体现?先不说我的算法,就国密算法SM3有多少公司在使用?
更有趣的是,目前很多网络平台、银行系统中保存用户的个人密码,基本上也是用的MD5或SHA算法。目的是防止内部人员知晓用户的私人密码,所以很多平台只能通过回答问题或手机验证去修改密码,无法告知你原来的密码是什么。
WJLHA2.0.0优势和用法
优点:
1、SHA256是指256位的哈希值,MD5是128位。这些都是算法固定的,而WJLHA2.0.0是自定义哈希值位长的,根据不同的安全要求,可以实时的调整位长。
2、支持父节点向子节点签名,同时也允许子节点设定自己的数字密钥。
3、完全我国自主基础数学理论和知识产权。
非商业的公司或朋友想测试或想使用(免费),可以看看下面的博客。有兴趣打造国产SSL协议和CA系统的,欢迎给我来信,我们可以提供jar、lib、dll、a、so等库(支持x86和RAM等)。
WJLHashAlgorithm 2.0.0.jar的应用方法
Email: wangjielin@rilled.cn
微信:JieLinCode
我们在长沙,正在寻求国内外公司合作,欢迎加盟。
转载:https://blog.csdn.net/wjlxueshu/article/details/108020667