PHP加密函数—sha1()函数加密

首先我们先介绍下什么是 sha1 ?大理石构件

sha的全称是:Secure Hash Algorithm(安全哈希算法)主要适用于数字签名标准 (Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。PHP提供的sha1()函数使用的就是SHA 算法!

在之前介绍的两篇文章《PHP加密函数—crypt()函数加密》和《PHP加密函数—md5()函数加密》,相信大家对加密有一定了解,在本章中我们将继续介绍跟MD5()函数类似的sha1()函数算法。

sha1()函数的语法格式如下:


1

string sha1 ( string $str [, bool $raw_output = false ] )

参数 描述
string 必需。规定要计算的字符串。
raw 可选。规定十六进制或二进制输出格式:TRUE - 原始 20 字符二进制格式FALSE - 默认。40 字符十六进制数

函数返回一个 40位的十六进制数,如果参数 raw_output 为 true,那么就会返回一个 20位的二进制数,默认是 raw_output 是为 false。

在这里我们要着重的说明下:

sha后面的 1 是阿拉伯数字(123456)里的 1 ,不是字母l(L),很多人都会看成是字母,但是它是阿拉伯数字,这里大家一定要注意,不要搞错了!

下面是sha1()函数的实例,具体代码如下:


1

2

3

4

5

6

7

<?php

header("Content-Type:text/html; charset=utf-8");

$str = "中文网";

echo "字符串:".$str."<br>";

echo "TRUE - 原始 20 字符二进制格式:".sha1($str, TRUE)."<br>";

echo "FALSE - 40 字符十六进制数:".sha1($str)."<br>";

?>

输出结果为:

下面实例是输出 sha1() 的结果并对其进行测试:


1

2

3

4

5

6

7

8

9

10

<?php

header("Content-Type:text/html; charset=utf-8");

$str = "中文网";

echo sha1($str);

if (sha1($str) == "b1d5e6240057f21930892531def6597f135252ca ")

{

    echo "<br>I love 中文网!";

    exit;

}

?>

输出结果为:

下面实例是MD5 和SHA 加密运算对比,具体带代码如下


1

2

3

4

5

6

7

<?php

header("Content-Type:text/html; charset=utf-8");

$str = "中文网";

echo "MD5的加密结果:".md5($str)."<br>";

echo "<br>";

echo "sha1的加密结果:".sha1($str)."<br>";

?>

输出结果为:

在PHP中的数据加密函数的主要三个 crypt()、md5()以及sha1()就介绍完了,下面的文章我们将介绍PHP加密库:Mcrypt和Mhash的两个扩展库!

原文地址:https://www.cnblogs.com/furuihua/p/12103206.html

时间: 2024-10-11 19:56:37

PHP加密函数—sha1()函数加密的相关文章

各种加密解密函数(URL加密解密、sha1加密解密、des加密解密)

普通hash函数如md5.sha1.base64等都是不可逆函数.虽然我们利用php可以利用这些函数写出可逆函数来.但是跨语言时这类可逆函数非常难搞定.所以这时尽量使用AES DES RC4 Rabbit TripleDes这些方法. 包含超时的加密解密函数 1 /** 2 * 加密 3 * @param string $string 要加密或解密的字符串 4 * @param string $operation 加密 '' 解密 DECODE 5 * @param string $key 密钥

证明与计算(5): 从加密哈希函数到一致性哈希

目录: ** 0x01 [哈希函数] vs [加密哈希函数] ** 0x02 [哈希碰撞] vs [生日问题] ** 0x03 [哈希表] vs [分布式哈希表] ** 0x04 [欧式距离] vs [三角不等式] ** 0x05 [异或距离] vs [前缀路由表] 0x01 [哈希函数] vs [加密哈希函数] 在哈希表计算索引的时候,我们需要一个哈希函数,通过hash(key)来计算key在哈希表里的index.这个地方的哈希函数只要尽量满足均匀分布,周期尽量大,计算速度又足够快等即可.而在

PHP的加密解密字符串函数

/********************************************************************* 函数名称:encrypt 函数作用:加密解密字符串 使用方法: 加密 :encrypt('str','E','nowamagic'); 解密 :encrypt('被加密过的字符串','D','nowamagic'); 参数说明: $string :需要加密解密的字符串 $operation:判断是加密还是解密:E:加密 D:解密 $key :加密的钥匙(密

PHP对字符串加密解密的函数

加密解密在一个系统中的应用是非常常见的需求,PHP做的网站中,也会经常用到一些加密解密的时候.下面介绍一个比较好用的加密解密函数,收藏下,以后会用得到. <?php  $id = 132; $token = encrypt($id, 'E', 'nowamagic'); echo '加密:'.encrypt($id, 'E', 'nowamagic'); echo '<br />'; echo '解密:'.encrypt($token, 'D', 'nowamagic'); /*****

MySql常用函数数学函数、加密函数等(转—收藏)

MySql函数众多,这里只是列举了一部分常用的函数. 一.数学函数 ABS(x)                                         // 返回x的绝对值 BIN(x)   //返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x)                                 //返回大于x的最小整数值 EXP(x) //返回值e(自然对数的底)的x次方 FLOOR(x)   //返回小于x的最大整数值 GREATEST(x1

php实现的三个常用加密解密功能函数示例

目录 算法一: 算法二: 算法三(改进第一个加密之后的算法) 本文实例讲述了php实现的三个常用加密解密功能函数.分享给大家供大家参考,具体如下: 算法一: //加密函数 function lock_url($txt,$key='www.jb51.net') { $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-=+"; $nh = rand(0,64); $ch = $chars[$nh]

oracle加密和解密函数

在数据存入一些敏感信息(姓名,身份证,电话等)时,一般要求都是要进行加密保存的,下面是一组oracle加密和解密函数 1. 加密函数 CREATE OR REPLACE function ds_func_encrypt_des(p_text varchar2, p_key varchar2) return varchar2 isv_text varchar2(4000);v_enc varchar2(4000);raw_input RAW(20000) ;key_input RAW(1000)

AES加密解密&amp;amp;&amp;amp;SHA1、SHA加密&amp;amp;&amp;amp;MD5加密

AES加密解密 SHA1.SHA加密 MD5加密 二话不说立即附上代码: package com.luo.util; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.

ASP.NET实现MD5加密和SHA1加密

MD5加密和SHA1加密的命名空间是在using System.Web.Security; /// <summary> /// 返回加密字符串 /// </summary> /// <param name="content">要加密的字符串</param> /// <param name="Type">加密类型,默认MD5,其它值SHA1</param> /// <returns>&