백엔드 개발 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으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP에서 mcrypt를 대체하는 방법 PHP에서 mcrypt를 대체하는 방법 Oct 31, 2022 am 09:46 AM

PHP에서 mcrypt를 대체하는 방법

ModuleNotFoundError: Python 모듈을 찾을 수 없음 오류를 해결하는 방법은 무엇입니까? ModuleNotFoundError: Python 모듈을 찾을 수 없음 오류를 해결하는 방법은 무엇입니까? Jun 25, 2023 pm 09:30 PM

ModuleNotFoundError: Python 모듈을 찾을 수 없음 오류를 해결하는 방법은 무엇입니까?

Java9 새로운 기능 모듈 모듈식 프로그래밍 방법 Java9 새로운 기능 모듈 모듈식 프로그래밍 방법 May 19, 2023 pm 01:51 PM

Java9 새로운 기능 모듈 모듈식 프로그래밍 방법

Python의 Rake-comb 암호화 알고리즘: 유형 및 애플리케이션 시나리오 Python의 Rake-comb 암호화 알고리즘: 유형 및 애플리케이션 시나리오 May 07, 2023 pm 09:43 PM

Python의 Rake-comb 암호화 알고리즘: 유형 및 애플리케이션 시나리오

Linux 시스템에서 ntfs 디스크를 마운트할 때 '모듈 퓨즈를 찾을 수 없음' 문제를 해결하는 방법은 무엇입니까? Linux 시스템에서 ntfs 디스크를 마운트할 때 '모듈 퓨즈를 찾을 수 없음' 문제를 해결하는 방법은 무엇입니까? Dec 31, 2023 pm 03:17 PM

Linux 시스템에서 ntfs 디스크를 마운트할 때 '모듈 퓨즈를 찾을 수 없음' 문제를 해결하는 방법은 무엇입니까?

Vuex 모듈 - 상태 웨어하우스 파티셔닝 사용 소개 Vuex 모듈 - 상태 웨어하우스 파티셔닝 사용 소개 Aug 10, 2022 pm 04:01 PM

Vuex 모듈 - 상태 웨어하우스 파티셔닝 사용 소개

Laravel 개발: Laravel 암호화를 사용하여 데이터를 암호화하는 방법은 무엇입니까? Laravel 개발: Laravel 암호화를 사용하여 데이터를 암호화하는 방법은 무엇입니까? Jun 15, 2023 am 08:31 AM

Laravel 개발: Laravel 암호화를 사용하여 데이터를 암호화하는 방법은 무엇입니까?

Python의 OS 모듈 및 예제를 사용하는 방법 Python의 OS 모듈 및 예제를 사용하는 방법 Apr 22, 2023 pm 10:19 PM

Python의 OS 모듈 및 예제를 사용하는 방법

See all articles