PHP计算MD5和SHA1值

    最近开发项目,需要用到文件的MD5和SHA1值,这里简单地记录下,备忘。MD5的计算分为计算字符串和文件的MD5值,SHA1的计算分为计算字符串和文件的SHA1值。

    1.md5

(PHP 4, PHP 5)

md5 — 计算字符串的 MD5 散列值

reject note 说明

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

使用 » RSA 数据安全公司的 MD5 报文算法计算 str 的 MD5 散列值。

reject note 参数

str

原始字符串。

raw_output

如果可选的 raw_output 被设置为 TRUE,那么 MD5 报文摘要将以16字节长度的原始二进制格式返回。

reject note 返回值

以 32 字符十六进制数字形式返回散列值。

reject note 更新日志

版本说明
5.0.0新增 raw_output 参数。

reject note 范例

Example #1 md5() 范例

<?php
$str 
'apple';

if (
md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
    echo 
"Would you like a green or red apple?";
}
?>

reject note 注释

NoteSecure password hashing

由于此函数依赖的算法已不足够复杂,不推荐使用此函数对明文密码加密。详细内容参见这里

reject note 参见

  • md5_file() - 计算指定文件的 MD5 散列值
  • sha1_file() - 计算文件的 sha1 散列值
  • crc32() - 计算一个字符串的 crc32 多项式
  • sha1() - 计算字符串的 sha1 散列值
  • hash() - Generate a hash value (message digest)
原文地址:点击打开链接

    2.md5_file

(PHP 4 >= 4.2.0, PHP 5)

md5_file — 计算指定文件的 MD5 散列值

reject note 说明

string md5_file ( string $filename [, bool $raw_output = false ] )

使用 » RSA 数据安全公司的 MD5 报文算法计算 filename 文件的 MD5 散列值并返回。该散列值为 32 字符的十六进制数字。

reject note 参数

filename

文件名

raw_output

如果被设置为 TRUE,那么报文摘要将以原始的 16 位二进制格式返回。

reject note 返回值

成功返回字符串,否则返回 FALSE

reject note 更新日志

版本说明
5.0.0新增 raw_output 参数。
5.1.0函数改用流 API。这意味着能够配合封装器使用该函数,比如 md5_file('http://example.com/..')

reject note 范例

Example #1 md5_file() 使用范例

<?php
$file 
'php-5.3.0alpha2-Win32-VC9-x64.zip';

echo 
'MD5 file hash of ' $file ': ' md5_file($file);
?>

reject note 参见

  • md5() - 计算字符串的 MD5 散列值
  • sha1_file() - 计算文件的 sha1 散列值
  • crc32() - 计算一个字符串的 crc32 多项式
原文地址:点击打开链接

    3.sha1

(PHP 4 >= 4.3.0, PHP 5)

sha1 — 计算字符串的 sha1 散列值

reject note 说明

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

利用» 美国安全散列算法 1 计算字符串的 sha1 散列值。

reject note 参数

str

输入字符串。

raw_output

如果可选的 raw_output 参数被设置为 TRUE,那么 sha1 摘要将以 20 字符长度的原始格式返回,否则返回值是一个 40 字符长度的十六进制数字。

reject note 返回值

返回 sha1 散列值字符串。

reject note 更新日志

版本说明
5.0.0新增 raw_output 参数。

reject note 范例

Example #1 sha1() 范例

<?php
$str 
'apple';

if (
sha1($str) === 'd0be2dc421be4fcd0172e5afceea3970e2f3d940') {
    echo 
"Would you like a green or red apple?";
}
?>

reject note 注释

NoteSecure password hashing

由于此函数依赖的算法已不足够复杂,不推荐使用此函数对明文密码加密。详细内容参见这里

reject note 参见

  • sha1_file() - 计算文件的 sha1 散列值
  • crc32() - 计算一个字符串的 crc32 多项式
  • md5() - 计算字符串的 MD5 散列值
  • hash() - Generate a hash value (message digest)
原文地址:点击打开链接

    4.sha1_file

(PHP 4 >= 4.3.0, PHP 5)

sha1_file — 计算文件的 sha1 散列值

reject note 说明

string sha1_file ( string $filename [, bool $raw_output = false ] )

利用» 美国安全散列算法 1,计算并返回由 filename 指定的文件的 sha1 散列值。该散列值是一个 40 字符长度的十六进制数字。

reject note 参数

filename

要散列的文件的文件名。

raw_output

如果被设置为 TRUE,sha1 摘要将以 20 字符长度的原始格式返回。

reject note 返回值

成功返回一个字符串,否则返回 FALSE

reject note 范例

Example #1 sha1_file() 范例

<?php
foreach(glob('/home/Kalle/myproject/*.php') as $ent)
{
    if(
is_dir($ent))
    {
        continue;
    }

    echo 
$ent ' (SHA1: ' sha1_file($ent) . ')'PHP_EOL;
}
?>

reject note 更新日志

版本说明
5.0.0新增 raw_output 参数。
5.1.0改变函数以使用流 API。这意味着可以使用包装器,比如 sha1_file('http://example.com/..')

reject note 参见

  • sha1() - 计算字符串的 sha1 散列值
  • md5_file() - 计算指定文件的 MD5 散列值
  • crc32() - 计算一个字符串的 crc32 多项式

原文地址:点击打开链接

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值