php自定义hash函数实例
本文实例讲述了php自定义hash函数实现方法。分享给大家供大家参考。具体分析如下:
这里演示php实现的一个简单hash算法,可以用来加密,不过这个函数过于简单,不能用来解密
function SimpleHash($str){ $n = 0; // The magic happens here: // I just loop trough all letters and add the // ASCII value to a integer variable. for ($c=0; $c < strlen($str); $c++) $n += ord($str[$c]); // After we went trough all letters // we have a number that represents the // content of the string return $n; }
调用方法:
$TestString = 'www.jb51.net'; print SimpleHash($TestString); // returns: 1082
希望本文所述对大家的php程序设计有所帮助。
相关推荐
-
理解php Hash函数,增强密码安全
1.声明 密码学是一个复杂的话题,我也不是这方面的专家.许多高校和研究机构在这方面都有长期的研究.在这篇文章里,我希望尽量使用简单易懂的方式向你展示一种安全存储Web程序密码的方法. 2."Hash"是做什么的? "Hash将一段数据(小数据或大数据)转换成一段相对短小的数据,如字符串或整数." 这是依靠单向hash函数来完成的.所谓单向是指很难(或者是实际上不可能)将其反转回来.一个常见的hash函数的例子是md5(),它流行于各种计算机语言和系统. 复制代码 代
-
PHP随机生成唯一HASH值自定义函数
网上有很多种方法获取随机唯一的HASH值,但是大同小异: 1.先获取随机的唯一字符串 2.进行MD5或者sha1算HASH值 一个项目要用到hash值,就去网上找了找,却发现PHP有一个函数能直接生成唯一字符串--uniqid(),通过使用这个函数,再加上自己生成的随机数(防止被破解),更具有唯一性且不易被猜解.主要考虑问题如下: 1.随机的效率与随机性:rand和mt_rand函数的选择,首选mt_rand,效率高,随机性好: 2.随机次数:选择5次,本来unniqid就是唯一的,加上随机的可
-
php的hash算法介绍
Hash Table是PHP的核心,这话一点都不过分. PHP的数组,关联数组,对象属性,函数表,符号表,等等都是用HashTable来做为容器的. PHP的HashTable采用的拉链法来解决冲突, 这个自不用多说, 我今天主要关注的就是PHP的Hash算法, 和这个算法本身透露出来的一些思想. PHP的Hash采用的是目前最为普遍的DJBX33A (Daniel J. Bernstein, Times 33 with Addition), 这个算法被广泛运用与多个软件项目,Apache, P
-
php常用hash加密函数
本文实例讲述了php常用hash加密函数.分享给大家供大家参考.具体分析如下: 复制代码 代码如下: $hash_list=hash_algos(); //返回注册的hash规则列表 print_r($hash_list); //显示结果 创建文件以计算哈希值:file_put_contents('example.txt', 'the quick brown fox jumped over the lazy dog.'); 输出哈希值信息: 复制代码 代码如下: echo hash_file(
-
分享自定义的几个PHP功能函数
最近不是在折腾论坛嘛,各种类各种函数,原创一些,从别人那儿qiang过来一些,在此分享出来,希望有朋友能用的到~ 注意:部分函数可能不够完善,由此造成的漏洞风险自担~ 提交过滤 function filter($text) { //完全过滤注释 $text = preg_replace('/<!--?.*-->/', '', $text); //完全过滤js $text = preg_replace('/<script?.*\/script>/', '', $text); //过滤
-
PHP中用hash实现的数组
PHP中使用最多的非Array莫属了,那Array是如何实现的?在PHP内部Array通过一个hashtable来实现,其中使用链接法解决hash冲突的问题,这样最坏情况下,查找Array元素的复杂度为O(N),最好则为1. 而其计算字符串hash值的方法如下,将源码摘出来以供查备: 复制代码 代码如下: static inline ulong zend_inline_hash_func(const char *arKey, uint nKeyLength) { register ulong h
-
php 分库分表hash算法
复制代码 代码如下: //分库分表算法 function calc_hash_db($u, $s = 4) { $h = sprintf("%u", crc32($u)); $h1 = intval(fmod($h, $s)); return $h1; } for($i=1;$i<100;$i++) { echo calc_hash_db($i); echo "<br>"; } function calc_hash_tbl($u, $n = 256
-
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
本文实例分析了PHP利用hash冲突漏洞进行DDoS攻击的方法.分享给大家供大家参考.具体分析如下: 首先声明:本文内容只用于研究学习使用,请勿用于非法行为! 前面提到过最近爆出的hash表碰撞漏洞,包括java.python.php等在内的很多常用语言均未幸免,今晚咱就来实际看看它的威力. 攻击原理: 通过向目标服务器post一组精心拼凑的数组参数,到达服务端后语言底层处理接收到的数组参数时,由于该漏洞的存在造成CPU的大量消耗,最终导致服务器资源耗尽. 不用什么花哨的手法,就用PHP简单实现
-
php对文件进行hash运算的方法
本文实例讲述了php对文件进行hash运算的方法.分享给大家供大家参考.具体如下: 这段代码非常有用,如果你下载了一个文件,网站提供了hash结果,你可以对你下载下来的文件进行hash运算,以验证下载的文件是否正确. <html> <head> <title>Hash (Check) Files</title> <style type='text/css'> #ok{color:green;} #nono{color:red;} </sty
-
php自定义hash函数实例
本文实例讲述了php自定义hash函数实现方法.分享给大家供大家参考.具体分析如下: 这里演示php实现的一个简单hash算法,可以用来加密,不过这个函数过于简单,不能用来解密 function SimpleHash($str){ $n = 0; // The magic happens here: // I just loop trough all letters and add the // ASCII value to a integer variable. for ($c=0; $c <
-
jQuery自定义动画函数实例详解(附demo源码)
本文实例讲述了jQuery自定义动画函数完整实现技巧.分享给大家供大家参考,具体如下: 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-zdy-dh-move-style-demo/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.d
-
Oracle 自定义split 函数实例详解
Oracle 自定义split 函数 Oracle没有提供split函数,但可以自己建立一个函数实现此功能.比如"abc defg hijkl nmopqr stuvw xyz",分隔符是空格,但空格个数不定. 源代码: CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR2 (4000); CREATE OR REPLACE FUNCTION fn_var_split ( p_str IN VARCHAR2,
-
JS自定义选项卡函数及用法实例分析
本文实例讲述了JS自定义选项卡函数及用法.分享给大家供大家参考.具体如下: 这里分享一个JS选项卡函数附带演示效果,选项卡函数参数调用说明: cmd:点击元素集合 con:显示容器集合 evt:触发事件 css:为当前点击元素的样式名称 index:为默认显示第几项的索引值 目前选项卡的样式还比较简洁和粗糙,想用的自己动动手美化一下. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-zdy-tab-cha-fun-style-codes/
-
Json 自定义使用函数的简单实例
如下所示: /* * Created on Nov 4, 2016 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package com.suning.commerce.util; import java.sql.Date; import java.sql.Time; import java.s
-
vue props对象validator自定义函数实例
validator自定义函数实例 props: { // 基础的类型检查 (`null` 匹配任何类型) propA: Number, // 多个可能的类型 propB: [String, Number], // 必填的字符串 propC: { type: String, required: true }, // 带有默认值的数字 propD: { type: Number, default: 100 }, // 带有默认值的对象 propE: { type: Object, // 对象或数组且
-
JavaScript实战(原生range和自定义特效)简单实例
今天我又码了两个特效:一个是用原生input[type=range]的,另一个完全自定义的:下面是完整代码和演示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> #tip{ position: absolute; top: 30px; left: 0; ri
-
python通过自定义isnumber函数判断字符串是否为数字的方法
本文实例讲述了python通过自定义isnumber函数判断字符串是否为数字的方法.分享给大家供大家参考.具体如下: ''' isnumeric.py test a numeric string s if it's usable for int(s) or float(s) ''' def isnumeric(s): '''returns True if string s is numeric''' return all(c in "0123456789.+-" for c in s)
-
C语言实现散列表(哈希Hash表)实例详解
C语言实现散列表(哈希Hash表) 实例代码: //散列表查找算法(Hash) #include <stdio.h> #include <stdlib.h> #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define SUCCESS 1 #define UNSUCCESS 0 #define HASHSIZE 7 #define NULLKEY -32768 typedef int Status; type
-
Python HTTP客户端自定义Cookie实现实例
Python HTTP客户端自定义Cookie实现实例 几乎所有脚本语言都提供了方便的 HTTP 客户端处理的功能,Python 也不例外,使用 urllib 和 urllib2 可以很方便地进行 HTTP GET 和 POST 等各种操作.并且还允许以类似于插件的形式加入一些 handler ,来定制 request 和 response ,比如代理的支持和 cookie 的支持都是这样添加进来的.具体来说,通过如下方式构造一个 opener : opener = urllib2.build_
随机推荐
- PostgreSQL中的OID和XID 说明
- 在数据库‘master’中拒绝CREATE DATABASE权限问题的解决方法
- jqGrid 学习笔记整理——进阶篇(一 )
- 推荐Windows Vista安装图解教程第1/2页
- Java基础类Class使用指南
- View.post() 不靠谱的地方你知道多少
- Android简单的利用MediaRecorder进行录音的实例代码
- [教程+分享]具有良好体验度的Web注册系统
- vue自定义过滤器创建和使用方法详解
- MySQL日志维护策略汇总
- 浅谈asp.net Forms身份验证详解
- yii2 modal弹窗之ActiveForm ajax表单异步验证
- 让checkbox不选中即将选中的checkbox不选中
- Jquery $.getJSON 在IE下的缓存问题解决方法
- SpringMVC的简单传值(实现代码)
- anroid开发教程之spinner下拉列表的使用示例
- C语言创建链表错误之通过指针参数申请动态内存实例分析
- 图文详解python安装Scrapy框架步骤
- django数据关系一对多、多对多模型、自关联的建立
- Vue中util的工具函数实例详解