浏览模式: 标准 | 列表

下面这些源代码统统来自 tero.co.uk 网站。其中 包含了 JavaScript 实现按位工作的 DES (数据加密标准)加密算法。它支持 ECB(电子密码本(Electronic Code Book))和 CBC(密码块链接(Cipher Block Chaining)),并且包含了 3DES 算法。它不需要任何附加库,并且同时提供了 PHP 和 Perl 的实现。

使用:

des (string key, string message, boolean encrypt, [integer mode, string iv])

des 函数接受一个 8 字节字符串作为普通 DES 算法的密钥(也就是 64 位,但是算法只使用 56 位),或者接受一个 24 字节字符串作为 3DES 算法的密钥;第二个参数是要加密或解密的信息字符串;第三个布尔值参数用来说明信息是加密还是解密;接下来的可选参数 mode 如果是 0 表示 ECB 模式,1 表示 CBC 模式,默认是 ECB 模式;最后一个可选项是一个 8 字节的输入向量字符串(在 ECB 模式下不使用)。返回的密文是字符串。

» 阅读全文

前几天,写了一篇 hmac 算法的 php 源代码的文章,本来打算连 JavaScript 的也提供,但是因为 JavaScript 的版本不是我写的,所以当时没放上来。今天在留言里看到有人想要 JavaScript 的实现,所以就放上来吧。

» 阅读全文

对于 Web 应用程序,安全登录是很重要的。但是目前大多数 Web 系统在发送登录密码时是发送的明文,这样很容易被入侵者监听到密码。当然,通过 SSL 来实现安全连接是个不错的方法,但是很多情况下我们没办法将服务器设置为带有 SSL 的 Web 服务器。因此如果在登录系统中加入安全登录机制,则可以在没有 SSL 的 Web 服务器上实现安全登录。

要实现安全登录,可以采用下面三种方法,一种基于非对称加密算法,一种基于对称加密算法,最后一种基于散列算法。下面我们来分别讨论这三种方法。

» 阅读全文

12月
14

hmac 算法的 php 源代码

hmac 是一种基于密码杂凑算法(如MD5、SHA1)构造 MAC(消息认证码)的方法。在 php 手册中 Mhash Functions 一节的用户注释中,我们可以找到基于 md5 的 hmac 算法,而实际上,只要将其中的 md5 函数调用换成 sha1 函数,就是基于 sha1 的 hmac 算法了。因此,我将那个函数改写了一下,加了一个参数 $hash,它的值可以是 “md5″ 和 “sha1″,分别对应于 hmac md5 算法和 hmac sha1 算法。它们与

bin2hex(mhash(MHASH_MD5, $data, $key))

bin2hex(mhash(MHASH_SHA1, $data, $key))

的结果是一样的。当然也可以将这个函数写成两个单独的函数 hmac_md5 和 hmac_sha1 。

» 阅读全文

目的:

对目前已有的 Web 应用系统,和将来待开发的 Web 应用系统系统进行集成,实现单点登录。

要求:

  1. 对已有的 Web 应用系统不作大规模改造。
  2. 不限制待开发的 Web 应用系统的开发工具。
  3. 不增加待开发系统的开发难度。

» 阅读全文