彻底告别加解密模块代码拷贝(8)

熟练掌握Cipher的用法、转换模式transformation的一些知识之后,影响我们编写加解密模块代码的主要因素就是加解密算法的原理或者使用,这些需要我们去学习专门的加解密算法相关的知识。另外,有些时候我们发现不同平台或者不同语言使用同一个加密算法不能相互解密加密,其实原因很简单,绝大部分原因是工作模式选取或者填充模式选取的不同导致的,排除掉这两点,剩下的可能性就是算法的实现不相同,依据这三点因素(或者说就是transformation这唯一的因素)去判断和寻找解决方案即可。关于加解密算法原理、工作模式等相关知识可以参考下面的资料。

参考资料:

《密码编码学与网络安全-原理与实践(第六版)》

《信息安全原理与实践(第2版)》

《关于加密数据的填充方式的研究》

JavaSE8 API文档

另外,一些特殊的方法例如Ciper#updateADD暂时没遇到使用场景,这里就不写没实践过的Demo。下一篇文章将会介绍一些主流的加解密算法的基本原理和通过Cipher对这些算法进行加解密应用。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b5e4d8f6f0ddf4f7771d5bbfc73289c8.html