前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >PHP使用DES进行加密和解密

PHP使用DES进行加密和解密

作者头像
joshua317
发布于 2018-04-16 03:17:23
发布于 2018-04-16 03:17:23
1.2K00
代码可运行
举报
文章被收录于专栏:技术博文技术博文
运行总次数:0
代码可运行

DES是一种标准的数据加密算法,关于这个算法的详细介绍可以参考wiki和百度百科:

wiki百科 百度百科

php中有一个扩展可以支持DES的加密算法,是:extension=php_mcrypt.dll

在配置文件中将这个扩展打开还不能够在windows环境下使用

需要将PHP文件夹下的 libmcrypt.dll 拷贝到系统的 system32 目录下,这是通过phpinfo可以查看到mcrypt表示这个模块可以正常试用了。

 下面是PHP中使用DES加密解密的一个例子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 //$input - stuff to decrypt
 2 
 3     //$key - the secret key to use
 4 
 5 
 6 
 7     function do_mencrypt($input, $key)
 8 
 9     {
10 
11         $input = str_replace(""n", "", $input);
12 
13         $input = str_replace(""t", "", $input);
14 
15         $input = str_replace(""r", "", $input);
16 
17         $key = substr(md5($key), 0, 24);
18 
19         $td = mcrypt_module_open('tripledes', '', 'ecb', '');
20 
21         $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
22 
23         mcrypt_generic_init($td, $key, $iv);
24 
25         $encrypted_data = mcrypt_generic($td, $input);
26 
27         mcrypt_generic_deinit($td);
28 
29         mcrypt_module_close($td);
30 
31         return trim(chop(base64_encode($encrypted_data)));
32 
33     }
34 
35     
36 
37     //$input - stuff to decrypt
38 
39     //$key - the secret key to use
40 
41     
42 
43     function do_mdecrypt($input, $key)
44 
45     {
46 
47         $input = str_replace(""n", "", $input);
48 
49         $input = str_replace(""t", "", $input);
50 
51         $input = str_replace(""r", "", $input);
52 
53         $input = trim(chop(base64_decode($input)));
54 
55         $td = mcrypt_module_open('tripledes', '', 'ecb', '');
56 
57         $key = substr(md5($key), 0, 24);
58 
59         $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
60 
61         mcrypt_generic_init($td, $key, $iv);
62 
63         $decrypted_data = mdecrypt_generic($td, $input);
64 
65         mcrypt_generic_deinit($td);
66 
67         mcrypt_module_close($td);
68 
69         return trim(chop($decrypted_data));
70 
71 
72     }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-08-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
php des 加密解密实例
des加密是对称加密中在互联网应用的比较多的一种加密方式,php 通过mcrypt扩展库来支持des加密,要在Php中使用des加密,需要先安装mcrypt扩展库 1 $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); 2 $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); 3 $key = "This is a very secret key";//密钥 4 $text
joshua317
2018/04/16
2.9K0
php之Aes加密案例讲解
在项目中,尤其是pc端的时候,我们在用户登录后会给前端返回一个标识,来判断用户是否登录,这个标识大多数都是用户的id
用户7353560
2021/11/07
4680
PHP中Mcrypt加密字符串
PHP中Mcrypt php $key = "__Joyous__";// key $iv = "23joyous";// IV $input = "id=123";// 加密的字符串 $bit_check=8;//检验位 $str= encrypt($input,$key,$iv,$bit_check); echo "原字符串: $input 执行加密: $str 执行解密: "; echo decrypt($str,$key,$iv,$bit_check); function encrypt(
苦咖啡
2018/05/07
1.3K0
PHP的Mcrypt加密扩展知识了解
今天我们来学习的是 PHP 中的一个过时的扩展 Mcrypt 。在 PHP7 之前,这个扩展是随 PHP 安装包一起内置发布的,但是现在新版本的 PHP 中已经没有了,需要使用这个扩展的话我们需要单独安装,并且在使用的时候也是会报出过时的警告的。所以,我们学习使用这些函数的时候,就需要使用 @ 来抑制错误信息。当然,之所以会对这套扩展发出过时警告,是因为 PHP 更加推荐使用 OpenSSL 来处理类似的加密能力。
硬核项目经理
2020/11/02
9080
PHP7以上 不支持mcrypt_module_open方法问题(微信视频号接口对接)
Fatal error: Uncaught Error: Call to undefined function mcrypt_module_open()
用户7657330
2023/10/19
3990
php DES加密算法实例分析
public static function encrypt($data,$key){
用户8832582
2021/07/13
9380
MySQL常见安全小贴士和一些安全注意点
MySQL是最受DBA欢迎的数据库之一,易用性和高性能是MySQL数据库的标志。然而,高人气使得MySQL成为很多恶意个人和组织攻击的目标。默认安装的MySQL在安全措施方面存在较大隐患,特别是根密码空缺和缓冲区溢出的潜在漏洞,使其成为最容易受攻击的目标。在本文中,我们将介绍一些简单而有效的方法来加强数据库的安全性,以抵御本地以及远程的攻击。
大龄老码农-昊然
2021/04/03
6300
MySQL常见安全小贴士和一些安全注意点
PHP全栈学习笔记11
在php.ini文件中找到“;extension=php_mcrypt.dll”和“;extension=php_mhash.dll”
达达前端
2019/07/03
7500
PHP全栈学习笔记11
PHP之AES加密算法
1) 确保都使用MCRYPT_MODE_CBC; 2) 确保明文填充都使用的是Pkcs5; 3) 加密key在AES_128长度必须是16, 24, 或者 32 字节(bytes);如果不够长必须填充,过长必须截取,建议直接md5; 4) 加密向量iv与加密key有同样的约定,但在ECB可以忽略该值(用不到)。 5) 注意加密结果建议都使用base64编码。
php007
2019/08/05
4.2K0
PHP之AES加密算法
PHP 基于 Mcrypt 的加密解密简单类
最近的一个项目项目中需要对 Cookie 加密,所以使用到了 Mcrypt 的方法进行加密解密的工作,于是我就整理成一个简单的类,以后直接简单调用类实现即可。
Denis
2023/04/15
5720
PHP实现的AES双向加密解密功能示例【128位】
本文实例讲述了PHP实现的AES双向加密解密功能。分享给大家供大家参考,具体如下:
用户2323866
2021/07/13
1.5K0
php des加密用java解析不了 改个模式 加个IV php密钥/IV要求都是8位
php des加密用java解析不了 改个模式 加个IV  php密钥/IV要求都是8位
oktokeep
2024/10/09
930
[1272]python实现DES加密
在线加密结果 输入:yoyo 得到16进制:d50d7e20173f0e27
周小董
2024/03/17
3320
[1272]python实现DES加密
PHP AES(运算模式 ECB,填充方式PKCS7) 加密解密
class Security{ public static function encrypt($input, $key) { if (substr(PHP_VERSION, 0, 1) == '7') { return self::opensslEncrypt($input,$key); }else{ return self::mcryptEncrypt($input,$key)
IT工作者
2022/02/25
2K0
PHP实现的简单对称加密与解密方法实例小结
本文实例讲述了PHP实现的简单对称加密与解密方法。分享给大家供大家参考,具体如下: 方法一:YII自带的加密方法
用户2323866
2021/07/02
9750
oracle中的encrypt_des加密对应Java的加密方式
将18693157906加密后的密文是 FAD42A3BB2A4B9A5B36847714A56FE65
故久
2020/05/26
1.5K0
用 PHP或Python加密字符串,用iOS解密
可以使用对称加密算法(如 AES)来加密和解密字符串。对称加密适合这种跨平台加密解密的需求,因为可以使用相同的密钥和算法在不同的编程语言和系统之间进行加密和解密。
华科云商小徐
2024/11/12
900
相关推荐
php des 加密解密实例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文