[备忘]Portable PHP password hashing framework(0 位领导批示)

WordPress 采用的密码加密算法..记录备忘

主要有两个方法:
1.HashPassword 加密密码
2.CheckPassword 进行密码验证

全文阅读 »

Tags : , ,

Perl学习之哈希 hash(0 位领导批示)

一、什么是哈希
哈希是一种数据结构,和数组类似,可以将值存放到其中,或者从中取回值。但是,和数组不同的是,其索引不是数字,而是名字。也就是说,索引(这里,我们将它叫key)不是数字而是任意的唯一的字符串。

key可以是任意的字符串,你可以使用任何的字符串作为key,但它们是唯一的。

另一种思考hash 的方法是,把它看作一堆数据(a barrel of data),每一个数据都有一个相应的标签。可以通过标签访问此标签对应的元素。但其中是没有“第一个”元素的概念的。在数组中,数组元素从0,1,2 开始编号。但在hash中,没有确定的顺序,因此也没有第一个元素。只是一些key/value 对的集合。

keys和values均为任意的标量,但keys通常转换为字符串。因此,如果将表达式50/20 作为keys,则其通常被转换为3字符的字符串“2.5”。

由于Perl的“没有不必要的限制”的设计哲学:hash可以是任意大小,从空hash(没有key/value对),到任何你内存允许的大小。

keys是唯一的,但values可以重复。hash的value可以是数字,字符串,undef,或者它们的混合,但key是唯一的。

为什么使用Hash
可以把hash看作一个简单的数据库,其中每一个key下面可以有一块数据。如果你的任务是关于:“查询重复的”,“唯一的”,“交叉引用的”,“查询表”,则hash很可能在这类应用中帮上你的忙。

二、哈希元素的存取
要访问hash 元素,可以使用下面的语法:$hash{$some_key}

这和访问数组元素的方法有些类似,这里下标(key)上使用的是花括号({}),而不是方括号([ ])。现在key 的表达式是字符串,而非数字。

hash的名字和Perl中其它的标识符的命名规则是一样的(字母,数字,下划线组成,但不能由数字开头)。

访问不存在的hash元素将得到undef。

全文阅读 »

随机显示的10篇日志

评论最多的10篇日志

浏览最多的10篇日志