作为web前端应用来说,与服务器通讯或后端通讯,以及不同用户间传递数据,在一些特定情况下需要对一些信息进行加密传输,在某个事件中取出信息并解密,得到正确的信息。纵观不同语言和不同算法,有很多种选择。今天,从最基础的加密与解密算法DES说起,深入浅出,看看wex5如何简单高效的实现DES算法加密与解密。便于课程需要,制作了demo,及js改装注释。

一 效果演示

     

js代码转python 在线_字符串

    

js代码转python 在线_js代码转python 在线_02

   如图所示,加密,生成一堆乱码,解密还原得到正确信息。

 二 设计思路

     制作并引入des.js文件,前端直接调用js方法实现加密解密。

    

三 具体代码与实现

    1 js文件的制作

       

js代码转python 在线_字符串_03

     

      这里强调一下,des.js文件,网上很多不是单独的插件,有的是写在html页面中的,把js片段直接拷出来,做成 js文件,供其它页面调用即可。具体算法逻辑不必纠结,找到其定义方法即可。

      这就出现另一个问题:在wex5中如何引入不规范AMD文件的问题。这不是今天的重点,有兴趣的上官网查找。

      方法中提供了两种加密与解密,16进制与非16进制区别如下:

      

      

js代码转python 在线_加密解密_04

    2 引入js

       

js代码转python 在线_16进制_05

    3 调用js方法

      

js代码转python 在线_加密解密_06

      js文件是提供的加密与解密方法,有两个参数,一个是密钥,一个是需要处理的字符串。这里用justep.UUID.createUUID动态生成密钥,为每一个信息配一把密钥。

     (注)黄色三角叹号提示方法不存在,其实不是,只是方法没有在同一个页面,实测结果是方法已正确调用。

四 总结

    1  js文件的抽取与制作,其实就是把一些js片段拿出来。

    2  不符合AMD规范的js文件直接引用,调用js中的方法即可。