广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP中使用Mhash函数的方法
  • 935
分享到

PHP中使用Mhash函数的方法

2023-06-15 07:06:38 935人浏览 泡泡鱼
摘要

小编给大家分享一下PHP中使用Mhash函数的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php的Mhash扩展函数的学习这次我们要学习的又是一个 Hash

小编给大家分享一下PHP中使用Mhash函数的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

php的Mhash扩展函数的学习

这次我们要学习的又是一个 Hash 加密扩展。不过这个扩展 Mhash 已经集成在了 Hash 扩展中。同时也需要注意的是,这个扩展已经不推荐使用了,我们应该直接使用 Hash 扩展中的函数来进行 Hash 加密操作。所以,我们今天仍然是以学习为目的的进行了解。关于 Hash 扩展的内容,我们可以查看之前的文章:PHP的Hash信息摘要扩展框架

加密散列函数的使用

$hash = mhash(MHASH_MD5, "测试Mhash");echo $hash, PHP_EOL;echo bin2hex($hash), PHP_EOL;// /�8�><�۠�P4q�j�// 2fcb38e93e3cc8dba09f503471846a9d$hash = hash('md5', "测试Mhash");echo $hash, PHP_EOL;// 2fcb38e93e3cc8dba09f503471846a9d$hash = mhash(MHASH_MD5, "测试Mhash", 'hMac secret');echo $hash, PHP_EOL;echo bin2hex($hash), PHP_EOL;// �k�<F�m �OM����// b86bb83c46b76d09be4f4daf18ebfe85

从代码中可以看出,mhash() 函数和 hash() 的使用非常像,当然,他们的作用也是一样的。不过,mhash() 函数加密出来的直接是二进制的,我们将这个内容通过 bin2hex() 转成 16 进制之后就可以看到和普通的 hash() 函数加密的结构是完全相同的了。

在进行 hmac 加密的时候直接在第三个参数上添加 key 就可以了。

遍历所有支持的算法类型

当然,就像 Hash 加密一样,Mhash 加密也是可以选择不同的算法的。我们也是直接使用相关的函数就可以看到当前环境中所支持的加密算法。

echo mhash_count(), PHP_EOL;$nr = mhash_count(); // 33for ($i = 0; $i <= $nr; $i++) {    echo sprintf("Hash:%s,块大小为: %d\n",        mhash_get_hash_name($i),        mhash_get_block_size($i));}// Hash:CRC32,块大小为: 4// Hash:MD5,块大小为: 16// Hash:SHA1,块大小为: 20// Hash:HAVAL256,块大小为: 32// Hash:,块大小为: 0// Hash:RIPEMD160,块大小为: 20// Hash:,块大小为: 0// Hash:TIGER,块大小为: 24// Hash:GoST,块大小为: 32// Hash:CRC32B,块大小为: 4// Hash:HAVAL224,块大小为: 28// Hash:HAVAL192,块大小为: 24// Hash:HAVAL160,块大小为: 20// Hash:HAVAL128,块大小为: 16// Hash:TIGER128,块大小为: 16// Hash:TIGER160,块大小为: 20// Hash:MD4,块大小为: 16// Hash:SHA256,块大小为: 32// Hash:ADLER32,块大小为: 4// Hash:SHA224,块大小为: 28// Hash:SHA512,块大小为: 64// Hash:SHA384,块大小为: 48// Hash:WHIRLPOOL,块大小为: 64// Hash:RIPEMD128,块大小为: 16// Hash:RIPEMD256,块大小为: 32// Hash:RIPEMD320,块大小为: 40// Hash:,块大小为: 0// Hash:SNEFRU256,块大小为: 32// Hash:MD2,块大小为: 16// Hash:FNV132,块大小为: 4// Hash:FNV1A32,块大小为: 4// Hash:FNV164,块大小为: 8// Hash:FNV1A64,块大小为: 8// Hash:JOAAT,块大小为: 4

在 PHP 中也提供了非常多的常量来代表这些算法,比如在前一段代码中我们使用的 MHASH_MD5 。其实就是我们遍历的这些内容在前面加上 MHASH_ 就可以了。具体支持的常量列表我们可以在官方手册中找到,在这里就不进行复制粘贴了。

Salted S2K 算法生成密码摘要

另外,Mhash 还为我们提供了一个非常方便的 Salted S2K 算法可以用来方便地生成一套非常方便地密码加密内容。

// OpenPGP 指定的 Salted S2K 算法$hashPassWord = mhash_keygen_s2k(MHASH_SHA1, '我的密码', random_bytes(2), 4);echo $hashPassword, PHP_EOL;echo bin2hex($hashPassword), PHP_EOL;// �-!=// 101ab899

当然,这个算法也是比较安全的,有 salt 参数,并且它可以指定返回的数据长度。它返回的也是二进制的数据,如果需要保存标准的文本内容也需要将其转化为 16 进制的形式。不过相对来说,我反而觉得这种直接生成二进制内容的还更安全一些

以上是“PHP中使用Mhash函数的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网PHP编程频道!

--结束END--

本文标题: PHP中使用Mhash函数的方法

本文链接: https://www.lsjlt.com/news/278962.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP中使用Mhash函数的方法
    小编给大家分享一下PHP中使用Mhash函数的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!PHP的Mhash扩展函数的学习这次我们要学习的又是一个 Hash...
    99+
    2023-06-15
  • php中unset函数的使用方法
    这篇文章主要讲解了“php中unset函数的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php中unset函数的使用方法”吧!说明unset函数可以释放给定的变量。通过使用该函数,...
    99+
    2023-06-20
  • php array_map()中函数的使用方法
    本篇内容主要讲解“php array_map()中函数的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php array_map()中函数的使用方法”吧!php有什么用php是一个嵌套的...
    99+
    2023-06-06
  • PHP中chdir()函数的使用方法
    小编给大家分享一下PHP中chdir()函数的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在php使用过程中,我们可能经常需要改变当前文件的目录,PHP...
    99+
    2023-06-14
  • PHP中使用count()函数的方法
    这篇文章主要介绍了PHP中使用count()函数的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。count()语法count  ( mixe...
    99+
    2023-06-14
  • php中defined()函数的使用方法
    这篇文章主要介绍php中defined()函数的使用方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!defined()是PHP中的内置函数,用于检查是否存在常量,即是否定义了常量;语法格式“defined(name...
    99+
    2023-06-14
  • PHP中strval()函数的使用方法
    这篇文章将为大家详细讲解有关PHP中strval()函数的使用方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、函数说明strval()函数是PHP中的内置函数,用于将任何标准值(字符串、整数或双精度...
    99+
    2023-06-15
  • php中die函数的使用方法
    小编给大家分享一下php中die函数的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php中的die函数用来输出一条消息,并退出当前脚本,它的使用方法如【...
    99+
    2023-06-15
  • PHP中var_export()函数的使用方法
    本篇内容介绍了“PHP中var_export()函数的使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!var_export() 函数用...
    99+
    2023-06-20
  • PHP函数的使用方法
    这篇文章给大家分享的是有关PHP函数的使用方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是函数?计算机上的函数就是一系列的表达式,其实也就有一段程序,当你参入相应的参数,经过函数就会出现结果,也是指编译器...
    99+
    2023-06-15
  • php数组中array_column()函数的使用方法
    本篇内容主要讲解“php数组中array_column()函数的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php数组中array_column()函数的使用方法”吧!说明返回输入数组...
    99+
    2023-06-20
  • php strtok()函数的使用方法
    本篇内容介绍了“php strtok()函数的使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在php中,strtok()函数用于根据...
    99+
    2023-06-20
  • php popen()函数的使用方法
    这篇文章主要讲解了“php popen()函数的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php popen()函数的使用方法”吧!在php中,内置函数popen()可以打开进程...
    99+
    2023-06-20
  • PHP使用md5()函数的方法
    这篇文章主要介绍PHP使用md5()函数的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语...
    99+
    2023-06-14
  • php empty()函数的使用方法
    本篇内容介绍了“php empty()函数的使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!说明用于检测变量是否为空。如果变量不存在,...
    99+
    2023-06-20
  • php parse_url()函数的使用方法
    本篇内容介绍了“php parse_url()函数的使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!parse_url()是PHP中的...
    99+
    2023-06-20
  • PHP函数的基本使用方法
    在现代的网页应用程序中,PHP作为一种重要的服务器端编程语言,被广泛应用。PHP中的函数是一种可重用的代码块,不仅简化了代码的编写,而且提高了代码的可维护性和可读性。本文将介绍PHP函数的基本使用方法,以帮助读者更好地理解和应用PHP函数。...
    99+
    2023-05-22
    方法 PHP函数 基本使用
  • PHP中的array_splice()函数使用方法及示例
    PHP中的array_splice()函数使用方法及示例在PHP编程中,数组是一种常用的数据结构,它可以用来存储多个相关的数据。而array_splice()函数是一种非常强大的数组操作函数,它可以在数组中插入、删除和替换元素。本篇文章将详...
    99+
    2023-11-18
    PHP array_splice() 示例
  • PHP中数组处理函数的使用方法详解
    目录一、键、值操作函数二、数组元素个数有关的函数三、使用回调函数处理数组的函数四、数组的排序函数五、拆分,合并,分解,结合数组六、获取数组中第一个元素或最后一个元素一、键、值操作函数...
    99+
    2022-11-13
  • 详解PHP中函数声明与使用方法
    PHP是一种强大的、开源的服务器端脚本语言,广泛用于Web开发。其中,函数(function)是PHP中最重要的组成部分之一。函数是一段可重复使用的代码块,用于执行特定的任务。本文将介绍PHP中函数的使用方法。声明函数声明函数是指定义函数名...
    99+
    2023-05-14
    php php函数
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作