在吾爱破解论坛上闲逛的时候发现一款名叫密码学工具的小软件,感觉不错就下载了下来。在密码工具箱的Browser栏下发现了一个名叫核心价值观编码的小工具,其功能就是将中英文字符用核心价值的12个词语来编码。温故而知新,和大家伙一起来温习一下社会主义核心价值观:
富强 民主 文明 和谐
自由 平等 公正 法治
爱国 敬业 诚信 友善
很快啊!通过参考资料发现这款编码工具是由Github账号名为sym的靓仔在Github上开源的一款小工具。打开链接后发现使用的javaScript脚本语言编写,显然这个不是小编所熟悉的语言。但出于好奇,还是决定基于这个脚本代码使用matlab给实现出来。
经过小编自上而下、从脚到头的研读,终得该代码精髓,即原理图。在此与大家分享:
编码过程:先将输入字符转换成16进制Unicode编码,再将Unicode编码后的字符串逐一转换成与0到11的数字 (因为核心价值观为12个词,所以需要12个数字与其一一对应),最后根据得到数字提取核心价值观词库中相应的词,并用该词替换掉字符串中对应的字符。
解码过程:以词为单位还原数字,再使用16进制转换数字得到16进制字符串,最后通过逆Unicode编码处理得到最终的解密字符。
下面给大家演示一下小编做好的成品效果图:
总结:此编码方式提供了一种新的编码途径。采用此法,用于编码的词库可不仅限于核心价值观,可以是其他任何想要设定的字、词、甚至是符号(如!@#$%~^&* =|)。但眼精(PS:没有写错,土话,意为善于发现的)的伙伴不难发现,此法虽好,但其会使编码前内容的比编码后的多太多,造成信息冗余。
对此感兴趣的伙伴可以通过参考资料去下载相关的javaScript源代码。
最后,感谢大家阅读与支持!祝大家生活愉快、天天开心!
参考资料:github.com/sym233/core-values-encoder