美文网首页
【erlang】 erlang crypto模块3des加密的兼

【erlang】 erlang crypto模块3des加密的兼

作者: 夏澪 | 来源:发表于2019-02-22 11:33 被阅读0次

    前言

    这阵子交接了一个项目,对方是使用java的工具类,使用3des的方法加密生成了mac值。因为对方提供了java源码,所以我尝试着按照源码逻辑上的步骤一步步实现3des加密。

    正文

    erlang的crypto模块封装了3des的方法,然而在参数方面,双方发生了分歧。erlang的3des的key的格式必须是 [ Key1, Key2, Key3] 的格式,且必须各自都为 8 位 ,然而 java 实现的时候,密钥是 16位的 byte 数组。这就必须深入到 des 的内部实现方式上去分析了。参考 3des之双倍长密钥和三倍长密钥

    也就是说,3des的实现方式是 des ,解 des,再des,所以需要 24位密钥。 当密钥长度为 16 位时, 分为 左 8 位 leftkey 和右 8 位 rightkey , 三次操作使用的是 leftkey rightkey leftkey。也就是复用了左八位密钥。

    相关文章

      网友评论

          本文标题:【erlang】 erlang crypto模块3des加密的兼

          本文链接:https://www.haomeiwen.com/subject/kavsyqtx.html