首页 后端开发 php教程 请帮写个加密函数

请帮写个加密函数

Jun 13, 2016 pm 01:27 PM
encryption mcrypt module

请大虾帮写个加密函数
请大虾帮写个加密函数,主要用于URL加密,
本想用MD5的,得是MD5不可逆,想过用base64加密或urlencode编码了,但这两个函数太长了。

请大虾帮自定义一个加密函数,最好不要长于是16位,越小越好,也不要小于8位,怕重复,呵呵。

用于URL传输的,加密后最好是数字或字符。谢谢!

记得是可逆的。

------解决方案--------------------
mcrypt

PHP code
<?php /* Open the cipher */
    $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');

    /* Create the IV and determine the keysize length, use MCRYPT_RAND
     * on Windows instead */
    $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
    $ks = mcrypt_enc_get_key_size($td);

    /* Create key */
    $key = substr(md5('very secret key'), 0, $ks);

    /* Intialize encryption */
    mcrypt_generic_init($td, $key, $iv);

    /* Encrypt data */
    $encrypted = mcrypt_generic($td, 'This is very important data');

    /* Terminate encryption handler */
    mcrypt_generic_deinit($td);

    /* Initialize encryption module for decryption */
    mcrypt_generic_init($td, $key, $iv);

    /* Decrypt encrypted string */
    $decrypted = mdecrypt_generic($td, $encrypted);

    /* Terminate decryption handle and close module */
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);

    /* Show string */
    echo trim($decrypted) . "\n";
?> <div class="clear">
                 
              
              
        
            </div>
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

php 怎么替换mcrypt php 怎么替换mcrypt Oct 31, 2022 am 09:46 AM

php替换mcrypt的方法:1、打开相应的php文件;2、找到原来的加密和解密代码;3、使用“openssl_encrypt”以及“openssl_decrypt”方法进行替代即可。

ModuleNotFoundError:如何解决Python找不到模块错误? ModuleNotFoundError:如何解决Python找不到模块错误? Jun 25, 2023 pm 09:30 PM

在Python的开发过程中,经常会遇到找不到模块的错误。这个错误的具体表现就是Python在导入模块的时候报出ModuleNotFoundError或者ImportError这两个错误之一。这种错误很困扰,会导致程序无法正常运行,因此在这篇文章里,我们将会探究这个错误的原因及其解决方法。ModuleNotFoundError和ImportError在Pyth

Java9新特性Module模块化编程的方法 Java9新特性Module模块化编程的方法 May 19, 2023 pm 01:51 PM

在Java9版本中Java语言引入了一个非常重要的概念:模块(module)。如果对javascript代码模块化管理比较熟悉的小伙伴,看到Java9的模块化管理,应该有似曾相识的感觉。一、什么是Javamodule?与Java中的package有些类似,module引入了Java代码分组的另一个级别。每个这样的分组(module)都包含许多子package包。通过在一个模块的源代码文件package的根部,添加文件module-info.java来声明该文件夹及其子文件夹为一个模块。该文件语法

Python中的耙梳加密算法:类型及应用场景 Python中的耙梳加密算法:类型及应用场景 May 07, 2023 pm 09:43 PM

可逆加密算法(对称加密)加密算法是一种将原始数据转换为加密数据的方法。根据加密算法的不同特征,可以将其分为可逆加密算法和不可逆加密算法。可逆加密算法也称为对称加密算法,其加密和解密过程使用相同的密钥。在这种算法中,加密数据可以通过解密算法还原为原始数据。这种算法通常用于保护数据的机密性,例如保护存储在计算机硬盘上的文件或网络传输的数据。说白了,就是在数据的传输过程中加密,真正在业务中使用的时候,还是用明文。比如,使用AES加密算法对文件进行加密:fromCrypto.CipherimportAE

如何解决Linux系统下挂载ntfs盘时出现'module fuse not found'的问题? 如何解决Linux系统下挂载ntfs盘时出现'module fuse not found'的问题? Dec 31, 2023 pm 03:17 PM

1.首先确认一下Linux系统内核[root@localhost~]#uname-r-p2.6.18-194.el5i6862.到http://sourceforge.net/projects/linux-ntfs/files/下载对应内核的rpm包如果找不到完全一致的,可以找最相近的。我的就没有找到完全一致的,我下载的是:kernel-module-ntfs-2.6.18-128.1.1.el5-2.1.27-0.rr.10.11.i686.rpm3.安装rpm包rpm-ivhkernel-m

Vuex Module-状态仓库分割的使用介绍 Vuex Module-状态仓库分割的使用介绍 Aug 10, 2022 pm 04:01 PM

vuex主要包含以下五个部分:State、Getter 、Mutation 、Action 、Module ,下面就给大家介绍Vuex Module-状态仓库分割,希望对需要的朋友有所帮助!

Laravel开发:如何使用Laravel Encryption加密数据? Laravel开发:如何使用Laravel Encryption加密数据? Jun 15, 2023 am 08:31 AM

Laravel是一个优秀的PHP框架,它的设计理念是简单、优雅,同时提供了强大的功能和易用的API接口,广受开发者的欢迎。在Laravel框架中,使用LaravelEncryption加密数据非常方便,本文将介绍LaravelEncryption的基本使用方法。什么是LaravelEncryption?LaravelEncryption是Larave

Python的OS模块的使用方法及示例 Python的OS模块的使用方法及示例 Apr 22, 2023 pm 10:19 PM

Python的os模块是用于与操作系统进行交互的标准库之一,它提供了许多有用的函数和变量,以便处理文件和目录。下面是一些常见的os模块函数的用法:1.获取当前工作目录:importoscwd=os.getcwd()print(cwd)2.切换当前工作目录:importosos.chdir('/path/to/new/directory')3.列出目录中的所有文件和子目录:importosfiles=os.listdir('/path/to/dire

See all articles