在普通HTTP上安全地传输密码

 更新时间:2007年07月21日 00:00:00   作者:  
1。理论 
    在普通HTTP上,一般表单中的密码都是以明文方式传到服务器进行处理的。这无疑给了坏人以可乘之机!这里我们就说说怎么传输密码才是安全的! 
    与其传输密码本身,到不如传输其加密后的形式。MD5是个不错的选择。第一,不同的资源几乎不可能生成相同的MD5摘要,第二,MD5的编码方式是不可逆推的。有了这些特性,我们就可以让MD5摘要公开的在Internet上传输,而不必担心密码被坏人知道。然后在服务端也将密码通过同样的方式加密,最后比较这两个字符串。 
    然而,我们不能为了登陆而将密码md5后直接通过Internet传输,因为坏人虽然不会知道我们的密码,但肯定会知道这个特殊的字符串可以授权他们访问我们的网站! 
    这就是公匙和私匙要解决的问题,首先由服务器提供一个随机字符串,然后客户端将这个随机字符串和密码相加后再加密! 
    每次登陆时,服务器会产生不同的随机字符串,这样你的密码没有变,但是通过上面的方法加密后的MD5摘要却完全不同。这样就算坏人得到了这些MD5摘要,他们也不可能分析出你的密码! 
    这种方法中,服务器提供的随机字符串叫做"公匙",寿命很短,并可以被任何人利用;你的密码叫做"私匙",寿命很长,而且永远也不会被人知道。 
    2。实现 
    客户端Javascript并没有提供现成的md5算法,但我们在 google 上用 "md5 javascript" 搜索,就可以得到很多md5在Javascript上实现的例子。 
    在PHP中我就不用多说了,直接用md5()这个函数就可以搞定!随机字符串我们可以用session来存储(PHP就是强啊~~) 
    3。注意 
    在JS中,中文都是UTF-8格式的,所以如果你的密码是中文,而且存储在服务端的密码的编码方式是GB2312,那么两个密码加密后的字符串是完全不同的!

相关文章

  • php常用图片处理类

    php常用图片处理类

    这篇文章主要介绍了php常用图片处理类,方便大家进行学习研究,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • php将远程图片保存到本地服务器的实现代码

    php将远程图片保存到本地服务器的实现代码

    有些时候我们想保存一些漂亮图片,但又不想手动去保存下来,尤其是大批量的存储,这个时候我们需要写一段程序来帮助我们完成这个工作,本文介绍了php如何将远程图片本地化,需要的朋友可以参考下
    2015-08-08
  • php常用字符串长度函数strlen()与mb_strlen()用法实例分析

    php常用字符串长度函数strlen()与mb_strlen()用法实例分析

    这篇文章主要介绍了php常用字符串长度函数strlen()与mb_strlen()用法,结合实例形式分析了php字符串长度函数strlen()与mb_strlen()功能、用法及相关操作注意事项,需要的朋友可以参考下
    2019-06-06
  • php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值

    php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值

    end() 函数将数组内部指针指向最后一个元素,并返回该元素的值(如果成功)。
    2011-10-10
  • 分享PHP守护进程类

    分享PHP守护进程类

    这篇文章主要介绍了PHP守护进程类,守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。php也可以实现守护进程的功能,需要的朋友可以参考下
    2015-12-12
  • PHP获取远程图片并保存到本地的方法

    PHP获取远程图片并保存到本地的方法

    这篇文章主要介绍了PHP获取远程图片并保存到本地的方法,涉及php远程文件操作的相关技巧,需要的朋友可以参考下
    2015-05-05
  • phpQuery采集网页实现代码实例

    phpQuery采集网页实现代码实例

    这篇文章主要介绍了phpQuery采集网页实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • PHP与以太坊交互详解

    PHP与以太坊交互详解

    在这篇文章中我们给大家分享了关于PHP与以太坊交互的相关知识点内容,有兴趣的朋友们阅读下吧。
    2018-08-08
  • 46 个非常有用的 PHP 代码片段

    46 个非常有用的 PHP 代码片段

    这篇文章主要介绍了46 个非常有用的 PHP 代码片段,在编写代码的时候有个神奇的工具总是好的!下面这里收集了 40+ PHP 代码片段,可以帮助你开发 PHP 项目
    2016-02-02
  • 使用php实现截取指定长度

    使用php实现截取指定长度

    以下是对使用php实现截取指定长度的方法进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-08-08

最新评论