使用哈希密码的安全性问题

一、 哈希密码

哈希是一种散列函数,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。
在密码学当中,HASH主要用于信息安全领域中加密算法,它把一些不同长度的信息转化成杂乱的128位的编码里,叫做HASH值. 也可以说,hash就是找到一种数据内容和数据存放地址之间的映射关系。MD4和MD5是哈希密码的主要算法。

文件上传插件Uploadify的简单介绍

熟悉使用php的人一定会对php文件上传不陌生,多文件上传以及重命名等都是文件上传的重要应用,我在这里介绍一个ajax+jQuery的插件,这个插件比较好的地方就是前端的效果比较炫酷,使用比较简单,大大简化了代码复杂度。uploadify.swf是插件的核心部分,(下载地址:http://www.uploadify.com/download/) 前端的效果主要由jquery.uploadify.js实现,所以这两个文件要包含进前端的源代码。我在这里主要是想介绍前端的接口函数以及php后台里面的文件重命名的技巧。
前端比较简单,主要是文件包含以及文件上传表单和接口函数。需要包含这几个js文件

Php验证码制作

关于网页制作中的验证码部分是一个比较有趣的知识点,验证码的制作主要是基于PHP的图片处理拓展功能。 验证码制作的一般流程是:
1、创建验证码显示的底图
2、列出所有可能用到的字符内容以及字体颜色
3、随机截取部分(4或者5个)字符作为验证码输出
4、确定验证码显示的角度以及坐标
5、增加干扰元素(点和线条等)
6、php输出图片,并在脚本及时地destroy掉图片

Haskell初接触感悟

最近选修函数程序设计这门选修课,初步接触到函数式编程语言 Haskell 的思想,在学习的过程中有意识地拿它跟Python去做一些比较,发现两者之间在元组Tuple以及List这种灵活数据类型上面有比较大的接近。但是在设计思想以及语法上面,两者又存在较大差别。先说说Haskell语言是什么东西: