广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP加密函数与解密函数详解
  • 805
分享到

PHP加密函数与解密函数详解

PHP 加密 解密函数PHP 加密函数PHP 解密函数 2022-11-13 18:11:08 805人浏览 独家记忆
摘要

去网上找了下。 PHP常用的加密函数有 MD5加密(不可逆)、Crypt加密(不可逆)、Sha1加密(不可逆)、Urlencode加密(可逆) base64编码加密(可逆) 还是见识

去网上找了下。

PHP常用的加密函数有

MD5加密(不可逆)、Crypt加密(不可逆)、Sha1加密(不可逆)、Urlencode加密(可逆)

base64编码加密(可逆)

还是见识的太少,这其中我只用过MD5和base64

最常用的还是MD5 ,MD5的加密虽不可逆,但一些简单的 两次MD5加密的字符串,花点钱还是能解密的。

为了防止解密一般都是对字符串进行MD5加密,在加密过得字符串上加一个固定字符串,再进行MD5加密。(感觉好麻烦……)

分享一个自用的加密和解密函数

  
function encrypt_code($string, $expiry = 0, $key = '1234567890') {  
    $ckey_length = 1;  
    $key = md5($key ? $key : UC_KEY); //加密解密时这个是不变的  
    $keya = md5(substr($key, 0, 16)); //加密解密时这个是不变的  
    $keyb = md5(substr($key, 16, 16)); //加密解密时这个是不变的  
    $keyc = $ckey_length ?  substr(md5(microtime()), -$ckey_length) : '';  
    $crypTKEy = $keya . md5($keya . $keyc); //64  
    $key_length = strlen($cryptkey); //64  
   
    $string =sprintf('%010d', $expiry ? $expiry + time() : 0) . substr(md5($string . $keyb), 0, 16) . $string;  
    $string_length = strlen($string);  
   
    $result = '';  
    $box = range(0, 255);  
   
    $rndkey = array();  
    for ($i = 0; $i <= 255; $i++) { //字母表 64位后重复 数列 范围为48~122  
        $rndkey[$i] = ord($cryptkey[$i % $key_length]);  
    }  
   
    for ($j = $i = 0; $i < 256; $i++) { //这里是一个打乱算法  
        $j = ($j + $box[$i] + $rndkey[$i]) % 256;  
        $tmp = $box[$i];  
        $box[$i] = $box[$j];  
        $box[$j] = $tmp;  
    }  
    for ($a = $j = $i = 0; $i < $string_length; $i++) {  
        $result .= chr(ord($string[$i]) ^ ($box[$i]));  
       
    }  
     $str =  $keyc . str_replace('=', '', base64_encode($result));    
                //  $str =htmlentities($str, ENT_QUOTES, "UTF-8"); // curl 访问出错  
                  return $str ;  
}  
  
               
  
function encrypt_decode($string, $expiry = 0,$key = '1234567890') {    
    $ckey_length = 1;  
    $key = md5($key ? $key : UC_KEY); //加密解密时这个是不变的  
    $keya = md5(substr($key, 0, 16)); //加密解密时这个是不变的  
    $keyb = md5(substr($key, 16, 16)); //加密解密时这个是不变的  
                
    $keyc = $ckey_length ?  substr($string, 0, $ckey_length)   : '';  
  
    $cryptkey = $keya . md5($keya . $keyc); //64  
    $key_length = strlen($cryptkey); //64  
    $string = base64_decode(substr($string, $ckey_length)) ;  
               $string_length = strlen($string);  
    $result = '';  
    $box = range(0, 255);  
  
    $rndkey = array();  
    for ($i = 0; $i <= 255; $i++) { //字母表 64位后重复 数列 范围为48~122  
        $rndkey[$i] = ord($cryptkey[$i % $key_length]);  
    }  
    for ($j = $i = 0; $i < 256; $i++) { //这里是一个打乱算法  
        $j = ($j + $box[$i] + $rndkey[$i]) % 256;  
  
        $tmp = $box[$i];  
        $box[$i] = $box[$j];  
        $box[$j] = $tmp;  
    }  
    for($a = $j = $i = 0; $i < $string_length; $i++) {  
        $result .= chr(ord($string[$i]) ^ ($box[$i]));  
    }  
    if((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26) . $keyb), 0, 16)) {  
       return substr($result, 26);  
    }else{  
       return false;  
    }  
}

注:加密函数与解密函数中的 $key 必须完全相同。

到此这篇关于php加密函数与解密函数详解的文章就介绍到这了,更多相关PHP加密解密函数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: PHP加密函数与解密函数详解

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

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

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

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

下载Word文档
猜你喜欢
  • PHP加密函数与解密函数详解
    去网上找了下。 Php常用的加密函数有 MD5加密(不可逆)、Crypt加密(不可逆)、Sha1加密(不可逆)、Urlencode加密(可逆) base64编码加密(可逆) 还是见识...
    99+
    2022-11-13
    PHP 加密 解密函数 PHP 加密函数 PHP 解密函数
  • PHP函数的加密解密函数
    在网络应用程序中,安全是一个至关重要的问题。很多时候我们会需要将一些敏感信息进行加密处理,以保护数据的安全。PHP是一种用于Web开发的流行编程语言,它提供了许多加密和解密函数,可以帮助我们将数据加密和解密。下面介绍几种PHP中常用的加密和...
    99+
    2023-05-19
    PHP 函数 (Function) 加密解密 (Encryption and Decryption)
  • 详解PHPlaravel中的加密与解密函数
    目录一:简介二:配置三:使用加密/解密1:加密2:不使用序列化进行加密3:解密Laravel为我们提供了完整的加密方法及加密模式。 我之前一般在加密的时候使用的是我自己写的加密函数,...
    99+
    2022-11-13
    PHP laravel加密 解密 PHP laravel加密 PHP laravel 解密
  • PHP加密函数 Javascript/Js 解密函数
    以下函数代码中“123456” 是个加密的key,自己可以随便改。php加密,js解密,貌似没什么意义,主要是key在js中会被看到。不过在某些地方可能会用到。 PHP加密函数 复制...
    99+
    2022-11-15
    PHP加密函数 Js解密
  • 详解PHP的Sodium加密扩展函数
    目录AEAD_AES_256_GCM 加解密信息签名Hash总结参考文档Sodium 扩展在 PHP7.2 后是跟随 PHP 源码一起发布的,只需要在编译的时候加上 --with-s...
    99+
    2022-11-12
  • PHP中如何使用authcode加密解密函数
    PHP中如何使用authcode加密解密函数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。PHP加密解密函数authcode的具体示例代码如下:// 参数解释&nbs...
    99+
    2023-06-17
  • PHP函数的数据加密函数
    随着互联网的普及和应用程序的飞速发展,数据安全问题逐渐凸显。在Web开发中,经常需要对某些敏感数据进行加密处理,防止网络攻击和数据泄露的产生。为了解决这个问题,PHP提供了许多加密函数,其中最常用的是md5、sha1和base64等。接下来...
    99+
    2023-05-18
    函数 数据加密 PHP函数
  • PHP加密算法函数全面解析:password_hash、password_verify、openssl_encrypt等函数的加密算法应用
    PHP加密算法函数全面解析:password_hash、password_verify、openssl_encrypt等函数的加密算法应用在现代互联网世界中,数据安全成为了一件非常重要的事情。为了保护用户的隐私信息,我们需要对敏感数据进行加...
    99+
    2023-11-18
    password_hash password_verify PHP加密算法函数
  • php加密函数有哪些
    php中常见的加密函数有md5、sha1、hash、urldecode几种md5函数md5函数作用:php中md5函数的作用是将字符串转换成MD5散列用于加密。md5函数语法:md5(string,raw)参数:string:指定字符串。r...
    99+
    2022-10-14
  • PHP加密和解密函数大全:md5、sha1、base64_encode等函数的安全应用方法
    PHP加密和解密函数大全:md5、sha1、base64_encode等函数的安全应用方法,需要具体代码示例在网络应用的开发中,数据的加密和解密是非常重要的。PHP作为一种流行的服务器端脚本语言,提供了多种加密和解密函数,本文将介绍常用的函...
    99+
    2023-11-18
    安全 解密 加密
  • 如何通过php函数优化数据加密和解密的性能?
    随着互联网的发展,数据的加密和解密显得越来越重要。在使用PHP语言进行数据加密和解密时,我们需要考虑数据加密算法的复杂性和性能。本文将介绍如何通过PHP函数优化数据加密和解密的性能,并提供具体的代码示例供参考。1.选择合适的加密算法:PHP...
    99+
    2023-10-21
    PHP函数优化 加密性能 解密性能
  • C#实现加密与解密详解
    目录一、Hash加密,使用HashAlgorithm哈希算法类的派生类(MD5、SHA1等)1、使用抽象类HashAlgorithm2、使用抽象类MD53、使用MD5CryptoSe...
    99+
    2022-11-13
  • JavaScript实现加密与解密详解
    目前原生JS貌似并没有提供MD5计算相关的函数方法,只能自己实现或者使用前辈大神写好的。 一、使用crypto.js库进行加密 GitHub的 https://github...
    99+
    2022-11-13
  • PHP加密解密函数实现数据传输的安全保护功能
    PHP加密解密函数实现数据传输的安全保护功能随着互联网的快速发展和应用的普及,数据的安全性问题变得尤为重要。很多网站和应用程序需要在客户端和服务器之间传输敏感数据,如用户密码、银行账户信息等,为了保护这些数据的安全,一种可行的方法是使用加密...
    99+
    2023-11-20
    数据传输 安全保护 PHP加密解密函数
  • php加密函数怎么使用
    PHP有很多加密函数可以使用,以下是几个常用的加密函数及其使用方法: md5函数:用于计算字符串的MD5哈希值。 $str = ...
    99+
    2023-10-27
    php
  • Android数据加密之Des加密详解
    Android DES加密的相关实现,简单的实现了一下,今天来总结一下: DES加密介绍: DES是一种对称加密算法,所谓对称加密算法即:加密和解密使用相同密钥的算法。DES...
    99+
    2022-06-06
    加密 des加密 des Android
  • MySQL数据库加密与解密方式
    这篇文章主要介绍“MySQL数据库加密与解密方式”,在日常操作中,相信很多人在MySQL数据库加密与解密方式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL数据库加密...
    99+
    2022-10-18
  • MySql数据库加密函数AES_ENCRYPT
     加密函数: AES_ENCRYPT('需要加密的字符串','秘钥'); select AES_ENCRYPT('给我狗子','abc123'); 解密函数: AES_DECRYPT('需要解密的密码','秘钥') CREATE ...
    99+
    2023-09-10
    数据库 sql mysql
  • PHP中如何使用JSON加密函数
    PHP中如何使用JSON加密函数,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。PHP中JSON加密函数的具体应用:function php_json_encode...
    99+
    2023-06-17
  • 详解Java 加密解密和数字签名问题
    在做项目中,只要涉及敏感信息,或者对安全有一定要求的场景,都需要对数据进行加密。在Java中原生API即可实现对称加密与非对称加密,并支持常用的加密算法。 对称加密 对称加密使用单钥...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作