易语言实地培训长期招生 QQ1615457736

乐易论坛

搜索
易语言第6期实地培训火热招生TQApiEc---专为PCQQ/TIM 开发的API接口模块,让你直接调用内部功能WxApiEc-专为PCWx开发的API接口模块,让你快速调用内部功能
易语言第6期实地培训火热招生TQApiEc---专为PCQQ/TIM 开发的API接口模块,让你直接调用内部功能WxApiEc-专为PCWx开发的API接口模块,让你快速调用内部功能
易语言第6期实地培训火热招生TQApiEc---专为PCQQ/TIM 开发的API接口模块,让你直接调用内部功能WxApiEc-专为PCWx开发的API接口模块,让你快速调用内部功能
易歪歪客服聊天助手——永久免费易歪歪客服聊天助手——永久免费易歪歪客服聊天助手——永久免费
广告位招租广告位招租广告位招租
云课堂动态
云课堂动态
查看: 9608|回复: 8
收起左侧

[个人原创] 读学易语言第九章|阿正_网页数据解密之JavaScript基础

[复制链接]
  • TA的每日心情
    开心
    2020-5-14 21:24
  • 签到天数: 19 天

    [LV.4]偶尔看看III

    发表于 2017-3-30 14:51:53 | 显示全部楼层 |阅读模式

    乐易编程网免费注册!抓住机会哦!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    读学易语言 | 阿正


    网页数据解密之JavaScript基础





    本章适用于有一定易语言基础想发展学习post方面的人

    阅读,文章根据个人学习经验所写,如果有错误请指出。


    QQ交流群:308780188


    阿正QQ:964269020


    公众号:阿正易语言


    博客: www.eyuyan.vip


    好了,说了这么多的易语言相关的东西了,我们开始讲讲

    JavaScript


    持续关注我们的朋友应该知道我们推出的每日Js这一套教程

    https://www.leybc.com/forum-105-1.html


    那么现在我来带大家详细的学习下,这是JavaScript的第一章,我们还是简

    单了解下什么是JavaScript


    JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置

    支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚

    本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML

    页增加动态功能。


    1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实

    现而成。因为NetscapeSun合作,Netscape管理层希望它外观看起来像Java,因此取名

    JavaScript。但实际上它的语法风格与SelfScheme较为接近。[1]


    为了取得技术优势,微软推出了JScriptCEnvi推出ScriptEase,与JavaScript同样可

    在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为

    ECMAScript





    JavaScript简称JS,虽然里面含有一个“Java”但是,这个语言和Java没有

    毛的关系,所以我们不要去考虑Java的事。JavaScript是一门运行在浏览器上面

    的弱语言,它的引擎是浏览器的一部分,早期是用于html页面的动态效果,后

    面逐步出现了利用JavaScript的来加密。


    既然有加密,那么就有对应的代码来进行计算,既然有代码,那么同一种

    类算法,我们就可以翻译成为多种语音,比如DES算法,我们有Java版本、c++

    版本、JavaScript版本,当然也有我们的易语言版本等等。


    我们要做的事情是,通过分析网页代码,然后把相关的计算加密的

    JavaScript代码扣下来,然后使用我们的乐易编程助手进行JavaScript的调试,调

    试完毕后我们就可以拿到易语言里面使用了。


    数据加密,是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文,

    而解密则是通过解密算法和解密密钥将密文恢复为明文。它的核心是密码学。(我恨数学

    家)





    数据加密的术语有[1]


    明文,即原始的或未加密的数据。通过加密算法对其进行加密,加密算法的输入信息

    为明文和密钥


    密文,明文加密后的格式,是加密算法的输出信息。加密算法是公开的,而密钥则是

    不公开的。密文不应为无密钥的用户理解,用于数据的存储以及传输;


    密钥,是由数字、字母或特殊符号组成的字符串,用它控制数据加密、解密的过程;


    加密,把明文转换为密文的过程;


    加密算法,加密所采用的变换方法;


    解密,对密文实施与加密相逆的变换,从而获得明文的过程;


    解密算法,解密所采用的变换方法。


    加密技术是一种防止信息泄露的技术。它的核心技术是密码学,密码学是研究密码系

    统或通信安全的一门学科,它又分为密码编码学和密码分析学。


    任何一个加密系统都是由明文、密文、算法和密钥组成。发送方通过加密设备或加密

    算法,用加密密钥将数据加密后发送出去。接收方在收到密文后,用解密密钥将密文解密

    ,恢复为明文。在传输过程中,即使密文被非法分子偷窃获取,得到的也只是无法识别的

    密文,从而起到数据保密的作用。[2]


    对称加密技术


    对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即

    加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使

    用起来简单快捷,密钥较短,且破译困难,除了数据加密标准DES),另一个对称密钥

    加密系统是国际数据加密算法IDEA),它比DES的加密性好,而且对计算机功能要求也

    没有那么高。IDEA加密标准由PGPPretty Good Privacy)系统使用。


    非对称加密技术


    1976年,美国学者DimeHenman为解决信息公开传送和密钥管理问题,提出一种

    新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥

    ,这就是公开密钥系统。相对于对称加密算法这种方法也叫做非对称加密算法。与

    称加密算法不同,非对称加密算法需要两个密钥公开密钥publickey)和私有密

    privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对

    应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才

    能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法





    这是完整的数据加密解密,但是有的时候为了保证数据的完整性,我们的

    网站还会采用散列算法





    产生一些数据片段(例如消息或会话项)的散列值的算法。好的散列算法具有根据输入数

    据中的变动来更改散列值结果的特性;因此,散列对于检测在诸如消息等大型信息对象中

    的任何变化很有用。


    此外,好的散列算法使得构造两个独立的有相同散列的输入不能通过计算方法实现。典型

    的散列算法包括 MD2MD4MD5 SHA-1。散列算法也被称为散列函数。散列算法的

    算法就是争取一个萝卜一个坑的原则





    散列算法简单理解起来就是:保证数据的完整性,检测数据是否被更改,最常用的散列算

    法是md5   比如 文本 123456789”的md5 25f9e794323b453885f5181f1b624d0b


    这个是不会变化的(目前来说,不过清华某叫兽已经破解md5……





    了解了JavaScript、算法的基本知识,那么我们先简单记住几个JavaScript的操作

    符。


    var  声明变量  例如声明一个整数变量 var a=1;


    ruturn  返回()  这个同易语言的返回命令  ruturn(a);


    for(){}    for循环结构体


    function   函数声明





    上面四个是我们这节课需要记住的,下面附带一份资料:


    JavaScript在网页中的嵌入方法





    通常是在<head>标记中利用script标记将JavaScript语句嵌入HTML


    <head>


    <script language="javascript" type="text/javascript">     


    //window.alert("欢迎浏览本网页!");  


           alert("欢迎浏览本网页!"); </script>


    </head>


    JavaScript在网页中的嵌入方法2








    方法2:  外部 JavaScript 文件可以链接到 HTML 文档中


    script标记的 src(源文件)属性指定此外部文件








    <script language="javascript" src="文件名.js"  type="text/javascript"> </script>











    三类对象:


    浏览器对象  浏览器窗口对象window、文档对象 document、位置对象location


    历史对象history


    脚本内置对象


    String字符串对象  Date日期对象 Math数学对象等


    HTML 对象  各种HTML标记都是对象,例如: 段落<P> 图片<IMG>  超链接<A>等





    JavaScript字符串对象的使用方法:


    1.substring()方法的功能是提取子字符串。例:     


    删除文本框内容的最后一个字符的代码为:





    var s=Text1.value;   


    Text1.value=s.substring(0,s.length-1);











    2.indexOf()方法的功能是从字符串中检索。


    indexOf(“查找的子字符串”,查找的起始位置)  返回子字符串所在的位置,如果没

    找到,返回 -1  类似易语言寻找文本


    例如:  





    var s = Text1.value;  





    if (s.indexOf("*", 0) != -1)  alert("文本框内容中有*号!");








    数据类型


    值类型,也就是原始类型:Undefined(未定义)、Null()、Boolean(逻辑)

    Number(数值) 和 String(字符)


    var a;                         // undefined,


    var b = null;             // null


    var c = true;             // boolean,


    var d = 10;                // number


    var e = “my”;           // string











    1 关键字


    break


    case


    catch


    continue


    default


    delete


    do


    else


    finally


    *for //循环,变量循环


    *function//声明方法


    *if //如果 if(bool)


    in


    instanceof


    *new //创建一个对象


    *return//返回


    switch


    *this //当前对象


    throw


    try


    typeof


    *var//声明变量


    void


    while


    with


    2 保留字  混个眼熟  保留字,没有任何作用,但是也没有办法使用


    abstract


    boolean


    byte


    char


    class


    const


    debugger


    double


    enum


    export


    extends


    fimal


    float


    goto


    implements


    import


    int


    interface


    long


    mative


    package


    private


    protected


    public


    short


    static


    super


    synchronized


    throws


    transient


    volatile













    易语言实地培训,报名联系QQ 1615457736
    [超强]《易语言软件加密(防破解)技术特训》
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-8-4 12:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2017-4-1 12:34:12 | 显示全部楼层
    沙发~支持楼主,正在需要呢
    易语言实地培训,报名联系QQ 1615457736
    [超强]《易语言软件加密(防破解)技术特训》
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-11-7 10:16
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2017-4-6 13:53:36 | 显示全部楼层
    太棒了,感谢楼主,Mrak一下
    易语言实地培训,报名联系QQ 1615457736
    [超强]《易语言软件加密(防破解)技术特训》
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-10-11 22:30
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2017-4-7 13:01:32 | 显示全部楼层
    拿分走人呵呵,楼下继续!
    易语言实地培训,报名联系QQ 1615457736
    [超强]《易语言软件加密(防破解)技术特训》
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2018-9-16 13:10
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    发表于 2017-4-11 10:13:49 | 显示全部楼层
    太棒了,感谢楼主,Mrak一下
    易语言实地培训,报名联系QQ 1615457736
    [超强]《易语言软件加密(防破解)技术特训》
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-4-12 17:10:48 | 显示全部楼层
    太棒了,感谢楼主,Mrak一下
    易语言实地培训,报名联系QQ 1615457736
    [超强]《易语言软件加密(防破解)技术特训》
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-4-18 12:38:32 | 显示全部楼层
        感觉学了一节JS
    易语言实地培训,报名联系QQ 1615457736
    [超强]《易语言软件加密(防破解)技术特训》
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-4-19 21:56:46 高端的乐易手机用户 | 显示全部楼层
    太棒了好好好
    易语言实地培训,报名联系QQ 1615457736
    [超强]《易语言软件加密(防破解)技术特训》
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-8-24 11:01
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2017-4-23 22:09:46 | 显示全部楼层
    谢谢分享啦啊
    易语言实地培训,报名联系QQ 1615457736
    [超强]《易语言软件加密(防破解)技术特训》
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    乐易推荐上一条 /6 下一条

    快速回复 返回顶部 返回列表