返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >在 PHP 中从 Hash_hmac() 和 Sha256 创建签名
  • 362
分享到

在 PHP 中从 Hash_hmac() 和 Sha256 创建签名

2024-02-27 21:02:23 362人浏览 泡泡鱼
摘要

PHP 具有用于数据安全的最佳加密功能之一。Hash_hMac() 加密函数是最著名的加密器之一。 我们将向你展示如何使用 hash_hmac 和 sha256 加密器来创建安全签名,你可以将其存储

PHP 具有用于数据安全的最佳加密功能之一。Hash_hMac() 加密函数是最著名的加密器之一。

我们将向你展示如何使用 hash_hmacsha256 加密器来创建安全签名,你可以将其存储在数据库中或在你的登录表单中使用。


php 中的 hash_hmac() 函数

hash_hmac() 创建一个字母数字键控的秘密哈希值。它利用称为 HMAC 方法的加密身份验证技术。

语法:


hash_hmac($alGo, $data, $key, $binary = false);
  1. $algo 是 hash_hmac 参数之一,用作签名秘密键控哈希值 (String)。
  2. $data,一个散列值(通常是用户的密码)。它可以是字母数字。
  3. $key 是从 HMAC 方法生成的,它是你从函数中获得的密钥,以及其他编程用途。
  4. 最后一个参数 $binary 是二进制值。

它在 TRUE 时返回原始数据,并在 FALSE 时抛出小写十六进制。


在 PHP 中使用 hash_hmac()sha256

例子:


<?php
//sha256 is a $algo
$PassWord= 'ThisIS123PasswORD' ; //data
$secret ="ABCabc"; //$key
//false is bool value to check whether the method works or not
$hash_it = hash_hmac("sha256", utf8_encode($Password), $secret, false);  //all four parameters
if(!$hash_it){ //checks true or false
	echo "Password was not encrypted!";
}
echo "Your encrypted signature is:<b> '.$hash_it.' </b>";
?>

输出:


Your encrypted signature is: '.46e9757dc98f478c28f035cfa871dbd19b5a2bf8273225191bcca78801304813

使用 hash_hmac()base64_encode()

如果你希望你的加密签名更安全,你还可以执行以下代码片段。

例子:


<?php
$my_sign = "abc123";
$key = TRUE;
 $base64_encode = base64_encode(hash_hmac('sha256', $my_sign, $key, true));
if(!$base64_encode){
echo "Your signature with the base64_decode(hash_hmac()); failed";
}
else{
echo "Your base64_decode(hash_hmac()); encrypted signature is is:<b> $base64_encode.' </b>";
}
?>

输出:


Your base64_decode(hash_hmac()); encrypted signature is is: '.00g0QMQlnluXxijqot60WZf6InDi07b/Mb5lL7eVZ34

在 PHP 中使用 hash_hmac()sha256 并应用 hex2bin/bin2hex 转换

  • hex2bin() - 此函数解码已以十六进制编码的二进制字符串
  • bin2hex() - 使用 bin2hex() 方法将 ASCII 字符串转换为十六进制值。

假设你有要加密的关键财务数据并为用户创建密钥。

例子:


<?php
$createhashmackey = "2974924872949278487322348237749823";
$bank_acc = "029480247299262947328749287";
$current_bal     = $sum * 10000 / 450;
$bank_locker_no   = 'AC54-A76X';
$last_deposit      = $when;
$se     = hex2bin($createhashmackey);
$create_his_signature     = $bank_acc . $current_bal. $bank_locker_no . $last_deposit;
$enigma = bin2hex(hash_hmac('sha256', $create_his_signature, $se));
echo "The secret signature is.$enigma.";

输出:


The secret signature is.33633066323533383537663538323937373536393764396530343661663336666438636435363631383934363864383966316133633433633965343234336233.

这是本文中所有代码示例的输出。

php 中 hash_hmac() 和 sha256 的签名

--结束END--

本文标题: 在 PHP 中从 Hash_hmac() 和 Sha256 创建签名

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

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

猜你喜欢
  • 在 PHP 中从 Hash_hmac() 和 Sha256 创建签名
    PHP 具有用于数据安全的最佳加密功能之一。Hash_hmac() 加密函数是最著名的加密器之一。 我们将向你展示如何使用 hash_hmac 和 sha256 加密器来创建安全签名,你可以将其存储...
    99+
    2024-02-27
  • Android创建签名文件,并获取签名文件MD5,SHA1,SHA256值
    一、创建Android签名文件         使用Android Studio开发工具,可视化窗口进行创建 第一步:点击AndroidStudio导航栏上的 Build→Generate Signed Bundle / APK 第二步:...
    99+
    2023-09-21
    android java
  • PHP中的签名和验签
    随着互联网技术的发展,安全性成为了一个越来越重要的问题,特别是互联网应用中传输数据的安全性。签名和验签技术已成为保障数据安全性的一种重要手段,PHP作为一种流行的互联网编程语言,也提供了签名和验签的相关函数,本文将介绍PHP中的签名和验签。...
    99+
    2023-05-23
    PHP 签名 验签
  • 在 PHP 中创建表
    本篇文章将介绍一种在 PHP 中创建表的方法。我们将从数据库表中读取数据并使用 PHP 将数据填充到 HTML 表中。 在 PHP 中创建 HTML 表并显示数据库中的数据 我们可以在任何我们...
    99+
    2024-02-27
  • 在 PHP 中创建 PDF
    本文将介绍在 PHP 中创建 PDF 的方法。我们将从数据库中检索数据,将其放入 PDF 中,然后下载。 在 PHP 中使用 mpdf 库创建 PDF 我们可以使用外部库 mpdf 在 PHP...
    99+
    2024-02-27
  • 使用Java验证Golang中创建的签名
    编程网今天将给大家带来《使用Java验证Golang中创建的签名》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都...
    99+
    2024-04-04
  • 在 PHP 中创建和使用静态类
    在 PHP 中,静态类是在程序中只实例化一次的类。它必须有一个静态成员(variable)、静态成员函数(method),或两者兼有。在 PHP 中使用静态变量创建静态类让我们创建一个类并初始化四个变量。然...
    99+
    2024-02-27
  • 在 PHP 中创建一个 Webhook
    Webhook 使用 JSON 和 XML 文件格式处理,通常包含文本数据。用户可以使用 PHP 函数来处理这些文件。 在 PHP 中创建一个 Webhook Webhook 通常采用 JSO...
    99+
    2024-02-27
  • 怎么在Linux中从PDF创建视频
    这篇文章将为大家详细讲解有关怎么在Linux中从PDF创建视频,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在 Linux 中从 PDF 创建视频为此,你需要在系统中安装 “FFMpeg” 和 “Imag...
    99+
    2023-06-16
  • 在golang中从struct手动创建json对象
    在golang中,从struct手动创建json对象是一项常见的操作。通过将struct转换为json格式,我们可以方便地在网络传输或存储中使用。在本文中,php小编香蕉将向您介绍如何...
    99+
    2024-02-12
    overflow
  • 在PHP中如何创建数组
    这篇文章给大家分享的是有关在PHP中如何创建数组的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在 PHP 中创建数组在 PHP 中, array() 函数用于创建数组:array...
    99+
    2024-04-02
  • 在 PHP 中创建对象数组
    本文将介绍在 PHP 中创建对象数组的方法。在 PHP 中创建一个类对象数组我们可以使用 array() 函数在 PHP 中创建一个对象数组。该函数将对象作为参数,并将创建这些对象的数组。我们可以通过创建一...
    99+
    2024-02-27
  • 怎么在Linux中创建永久别名
    这篇“怎么在Linux中创建永久别名”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么在Linux中创建永久别名”文章吧。L...
    99+
    2023-06-27
  • 如何在PHP、Shell、Django中创建和使用函数?
    在编程中,函数是一种非常重要的工具,可以帮助我们将代码分解成可重复使用的部分。无论您是在使用PHP、Shell还是Django,函数都是不可或缺的。在本文中,我们将探讨如何在这三种编程语言中创建和使用函数。 一、PHP中创建和使用函数 在P...
    99+
    2023-09-18
    shell django 函数
  • 在 Python 中使用变量创建文件名
    使用格式化的字符串文字来使用变量创建文件名,例如 f'{variable}.txt'。 格式化的字符串文字使我们能够通过在字符串前面加上 f 来在字符串中包含表达式和变量。 file_name = '...
    99+
    2023-09-22
    python
  • 如何在 Rust中创建 PHP 扩展
    这期内容当中小编将会给大家带来有关如何在 Rust中创建 PHP 扩展,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。可以编译的Rust代码到一个库里面,并写为它一些C的头文件,在C中为被调用的PHP做一个...
    99+
    2023-06-17
  • 在 PHP 中创建一个 Zip 文件
    本篇文章将演示创建一个 zip 文件并使用 PHP 解压缩该文件,并在该 zip 文件的文件夹中添加文件。 使用 PHP 创建一个 Zip 文件 下面的示例代码将创建一个 zip 文件 tut...
    99+
    2024-02-27
  • 如何在PHP中实现微信JS-SDK签名
    随着微信的普及和发展,微信公众号已经成为了许多企业和个人进行营销宣传的首选平台。而微信JS-SDK则是微信公众号开发中不可或缺的一部分。它可以帮助我们实现一些交互性更强,更有趣的功能,比如分享到朋友圈,调用微信支付等。本文将介绍如何在PHP...
    99+
    2023-05-14
    PHP 微信JS-SDK 签名
  • 怎样在php函数中创建数组
    在PHP中,数组是一个非常重要的数据结构,它能够存储多个值,这些值可以是不同的数据类型,如整数、字符串、对象等。创建数组是PHP的基础知识之一,本文将详细介绍在PHP函数中创建数组的方法和技巧。一、使用array()函数创建数组array(...
    99+
    2023-05-19
  • mysql中创建用户名和密码的方法
    mysql中创建用户名和密码的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql中创建用户名和密码的方法:执行【...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作