Java实现国密Sm3算法

虽然国密算法SM3的官方文档只有短短四五页,但实现起来涉及的细节还是挺多的。特此,Milo将开发心得,以及源码和注解做个分享,希望读者能够轻松理解SM3。

  • 预备知识
    • Java基本数据类型大小byte:1个字节;short:2个字节;char:2个字节;int:4个字节;long:8个字节等等。十六进制:一个数代表4个二进制位。所以需要拿捏好数据长短。
    • Ascii码有区分十进制、八进制、十六进制。官方文档样例中使用的都是十六进制,“abc”=“616263”,而不是十进制Ascii码“979899”。计算和操作过程中,要留意数据类型转换的问题。
    • 左移和循环左移官方文档中提及的移位计算均为循环左移。即移出的高位放到该数的低位。
    • 左补0在转换数据类型时,除了关注溢出问题、Ascii码问题,还要关注转换结果的长度问题。SM3算法中,若二进制长度不足需要补全,否则拼接结果时会出现意想不到的错误。

继续阅读Java实现国密Sm3算法

 
本文内容转自冰部落,仅供学习交流,版权归原作者所有,如涉及侵权,请联系删除。

声明:
本平台/个人所提供的关于股票的信息、分析和讨论,仅供投资者进行研究和参考之用。
我们不对任何股票进行明确的买入或卖出推荐。
投资者在做出投资决策时,应自行进行充分的研究和分析,并谨慎评估自己的风险承受能力和投资目标。
投资有风险,入市需谨慎。请投资者根据自身的判断和风险承受能力,自主决策,理性投资。

2020上半年问题总结

前言

工作的时候,因为是内网开发,所以遇到难题Milo都记在纸上。原本想一月一发,事实上却因为各种缘由拖了大半年,一下子整理起来问题还真有点多。以下内容可以说是问题集锦,或者大杂烩了。

继续阅读2020上半年问题总结

 
本文内容转自冰部落,仅供学习交流,版权归原作者所有,如涉及侵权,请联系删除。

声明:
本平台/个人所提供的关于股票的信息、分析和讨论,仅供投资者进行研究和参考之用。
我们不对任何股票进行明确的买入或卖出推荐。
投资者在做出投资决策时,应自行进行充分的研究和分析,并谨慎评估自己的风险承受能力和投资目标。
投资有风险,入市需谨慎。请投资者根据自身的判断和风险承受能力,自主决策,理性投资。