iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php如何使用3des加解密及hmacsha256加密
  • 245
分享到

php如何使用3des加解密及hmacsha256加密

2024-04-02 19:04:59 245人浏览 安东尼
摘要

目录一、3Des加解密二、hMacsha256加密总结一、3des加解密 从PHP 7.2起它将被从核心代码中移除并且移到PECL中。php手册在7.1迁移页面给出了替代方案,就是用

一、3des加解密

PHP 7.2起它将被从核心代码中移除并且移到PECL中。php手册在7.1迁移页面给出了替代方案,就是用OpenSSL取代MCrypt。

现整理PHP7.2中AES加密解密方法mcrypt_module_open()替换方案,以下为原加解密方法:

function encrypt($str) { 
         $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, ''); 
         mcrypt_generic_init($td, $this->key, $this->hexToStr($this->hex_iv)); 
         $block = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);  
        $pad = $block - (strlen($str) % $block);  
        $str .= str_repeat(chr($pad), $pad);  
        $encrypted = mcrypt_generic($td, $str); 
         mcrypt_generic_deinit($td); 
         mcrypt_module_close($td);  
        return base64_encode($encrypted);  
    } 
 
    function decrypt($code) {  
        $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');  
        mcrypt_generic_init($td, $this->key, $this->hexToStr($this->hex_iv));  
        $str = mdecrypt_generic($td, base64_decode($code));  
        $block = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC); 
         mcrypt_generic_deinit($td); 
        mcrypt_module_close($td); 
        return $this->strippadding($str); 
    }

替换后,新方法:

//加密
public function encrypt($data)
{
 
    if ($data== null || empty($data)) {
        return $data;
    }
    $secret_key = "your key";
    $iv = "your iv";
    $result= base64_encode(openssl_encrypt( $data, "aes-256-cbc", $secret_key, OPENSSL_RAW_DATA, $iv));
 
    return $result;
    
}
 
//解密
public function decode($data)
{
    if ($data== null || empty($data)) {
        return $data;
    }
    $secret_key = "your key";
    $iv = "your iv";
    $result= openssl_decrypt(base64_decode($data), "aes-256-cbc", $secret_key, OPENSSL_RAW_DATA, $iv);
 
    return $result;
   
}

加密方法:

openssl_encrypt($data, $method, $passWord, $options, $iv)

解密方法:

openssl_decrypt($data, $method, $password, $options, $iv)

参数说明:

$data 加密明文

$method 加密方法

1、DES-ECB
2、DES-CBC
3、DES-CTR
4、DES-OFB
5、DES-CFB

$passwd 加密密钥[密码]

$options 数据格式选项(可选)【选项有:】

1、0
2、OPENSSL_RAW_DATA=1
3、OPENSSL_ZERO_PADDING=2
4、OPENSSL_NO_PADDING=3

$iv 密初始化向量(可选)

DES 是对称性加密里面常见一种,是一种使用密钥加密的块算法

二、hmacsha256加密

使用hash_hmac()

string hash_hmac ( string $alGo , string $data , string $key [, bool $raw_output = false ] )

参数

algo

要使用的哈希算法名称,例如:"md5","sha256","haval160,4" 等。 如何获取受支持的算法清单,请参见 hash_algos() 。

data

要进行哈希运算的消息。

key

使用 HMAC 生成信息摘要时所使用的密钥。

raw_output

设置为 TRUE 输出原始二进制数据, 设置为 FALSE 输出小写 16 进制字符串

返回值

如果 raw_output 设置为 TRUE , 则返回原始二进制数据表示的信息摘要, 否则返回 16 进制小写字符串格式表示的信息摘要。 如果 algo 参数指定的不是受支持的算法,返回 FALSE 。

总结

到此这篇关于php如何使用3des加解密及hmacsha256加密的文章就介绍到这了,更多相关php用3des加解密内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: php如何使用3des加解密及hmacsha256加密

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

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

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

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

下载Word文档
猜你喜欢
  • php如何使用3des加解密及hmacsha256加密
    目录一、3des加解密二、hmacsha256加密总结一、3des加解密 从PHP 7.2起它将被从核心代码中移除并且移到PECL中。PHP手册在7.1迁移页面给出了替代方案,就是用...
    99+
    2022-11-13
  • 使用Java怎么实现一个3des加密解密工具类
    这期内容当中小编将会给大家带来有关使用Java怎么实现一个3des加密解密工具类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体如下:package com.gcloud.common;imp...
    99+
    2023-05-30
    java 3des
  • 如何使用PHP进行加密和解密?
    PHP是一种流行的服务器端脚本语言,它可以用来创建复杂的Web应用程序。其中一个重要的功能是加密和解密敏感数据。在本文中,我们将讨论如何使用PHP进行加密和解密。对称加密算法对称加密算法是最常见的加密方式之一,也被称为单密钥加密。它使用同一...
    99+
    2023-05-22
    PHP加密(Encryption) PHP解密(Decryption) 对称加密(Symmetric encryptio
  • PHP如何实现加密解密
    这篇文章主要为大家展示了“PHP如何实现加密解密”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP如何实现加密解密”这篇文章吧。加密解密function encrypt($data,...
    99+
    2023-06-03
  • PHP中如何使用authcode加密解密函数
    PHP中如何使用authcode加密解密函数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。PHP加密解密函数authcode的具体示例代码如下:// 参数解释&nbs...
    99+
    2023-06-17
  • PHP如何使用password_hash()加密密码
    这篇文章主要为大家展示了“PHP如何使用password_hash()加密密码”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP如何使用password_hash()加密密码”这篇文章吧。使用...
    99+
    2023-06-02
  • PHP如何使用crypt()加密密码
    这篇文章将为大家详细讲解有关PHP如何使用crypt()加密密码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用 crypt() 加密密码crypt函数的作用是使用salt返回一个散...
    99+
    2023-06-17
  • 如何在Java中使用RSA加密对密码进行加密解密
    这期内容当中小编将会给大家带来有关如何在Java中使用RSA加密对密码进行加密解密,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体如下:public static void ...
    99+
    2023-05-31
    java rsa加密 ava
  • Vue+php 使用AES进行加密解密
    php 代码 public function encrypt($data, $key, $iv) { return base64_encode(openssl_enc...
    99+
    2023-09-28
    1024程序员节 php vue.js aes加密解密
  • 如何使用PHP进行数据加密和解密?
    随着网络技术的快速发展,数据安全已经成为了网络应用开发中最重要的问题之一。数据加密是一种保护敏感信息的方式,可以通过加密算法将数据转化为一串看似无意义的字符,使得未经授权的人无法读取这些信息。PHP是一种广泛使用的服务器端脚本语言,它提供了...
    99+
    2023-05-21
    PHP 数据加密 数据解密
  • PHP 程序如何实现加密解密?
    PHP 中有很多加密和解密的函数可用,以下是一些常用的加密解密方式和函数: 对称加密: 对称加密是一种加密方式,使用同一个密钥加密和解密数据。PHP 中可用的对称加密算法包括 AES、DES、3DES 等。以下是一些常用的对称加密函数:...
    99+
    2023-10-02
    加密 php Powered by 金山文档
  • MessageDigest的功能及用法(加密解密)
    MessageDigest是Java中提供的一个用于进行信息摘要(hash)计算的类。它主要用于保护数据的完整性和验证数据的一致性。...
    99+
    2023-09-01
    功能
  • 使用Java实现加密之AES加解密
    目录1.背景知识2.AES简介3.AES的加密过程(AES处理单位:字节)4.Java实现4.1 生成密钥和偏移量4.2 AESUtil.java 源码4.3 执行结果4.4 线上验...
    99+
    2023-05-18
    Java AES AES 加解密
  • PHP混淆加密以及常用的一些加密工具
    PHP混淆加密是一种将源代码转换为难以理解和阅读的方式,以保护代码的安全性。以下是一些常见的PHP混淆加密方法: 代码压缩:使用代码压缩工具(如UglifyJS)将PHP代码压缩为一行,去除空格、换行...
    99+
    2023-10-23
    php 开发语言
  • 如何使用OpenSSL加密和解密文件
    这篇文章主要讲解了“如何使用OpenSSL加密和解密文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用OpenSSL加密和解密文件”吧!加密是对消息进行编码的一种方法,这样可以保护消...
    99+
    2023-06-17
  • Java如何加密/解密Excel
    小编给大家分享一下Java如何加密/解密Excel,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!工具工具:Free Spire.XLS for Java (免费版...
    99+
    2023-06-02
  • php如何实现密码加密
    这篇文章给大家分享的是有关php如何实现密码加密的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php密码加密方法:1、使用password_hash(),语法“password_hash(密码,PASSWORD_...
    99+
    2023-06-20
  • php加密不能用如何解决
    这篇文章主要介绍“php加密不能用如何解决”,在日常操作中,相信很多人在php加密不能用如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php加密不能用如何解决”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-07-05
  • vue项目使用md5加密、crypto-js加密、国密sm3及国密sm4的方法
    目录方法一:md5加密方法二:crypto-js 加密解密方法三:国密sm3方法四:国密sm4写在后面:项目中涉及到一些加密解密的需求,了解并尝试了几种加密解密方法,以下: 方法一:...
    99+
    2022-12-08
    vue中md5加密 vue使用crypto-js加密 vue 国密sm3
  • 如何在JAVA中使用MD5加密对密码进行加密
    本篇文章为大家展示了如何在JAVA中使用MD5加密对密码进行加密,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。新建Md5.javapackage com.loger.md5;import java....
    99+
    2023-05-31
    java md5加密 ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作