PHP 8.4.3 Released!

mcrypt_decrypt

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_decryptBelirtilen bağımsız değişkenlerle şifreli bir metnin şifresini çözer

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_decrypt(
    string $şifre,
    string $anahtar,
    string $veri,
    string $kip,
    string $iv = ?
): string|false

Belirtilen verinin şifresini çözer ve şifrelenmemiş dizgeyi döndürür.

Bağımsız Değişkenler

şifre

MCRYPT_şifreadı sabitlerinden biri veya dizge olarak algoritma adlarından biri.

anahtar

Veriyi şifrelemekte kullanılan anahtar. Belirtilen anahtar şifre tarafından desteklenmiyorsa işlev bir uyarı çıktılar ve false döner.

veri

Belirtilen şifre ve kip ile şifresi çözülecek veri. Verinin küme boyunun katları uzunlukta olmasını sağlamak için dolgu olarak "\0" karakteri kullanılır.

kip

MCRYPT_MODE_kipadı sabitlerinden biri veya şu dizelerden biri: "ecb", "cbc", "cfb", "ofb", "nofb" veya "stream".

iv

CBC, CFB, OFB kiplerinde ve STREAM kipinde bazı algoritmalarda ilklendirme için kullanılır. Sağlanan ilklendirme vektörü (IV) boyutu zincirleme kipi tarafınan desteklenmiyorsa veya bir IV sağlanmamışsa, fakat zincirleme kipi için bir IV gerekliyse, işlev bir uyarı çıktılar ve false döndürür.

Dönen Değerler

Şifresi çözülmüş veriyi bir dizge olarak döndürür, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • mcrypt_encrypt() - Salt metin veriyi belirtilen bağımsız değişkenlerle şifreler

add a note

User Contributed Notes 1 note

up
32
eddiec at stararcher dot com
19 years ago
It appears that mcrypt_decrypt pads the *RETURN STRING* with nulls ('\0') to fill out to n * blocksize. For old C-programmers, like myself, it is easy to believe the string ends at the first null. In PHP it does not:

strlen("abc\0\0") returns 5 and *NOT* 3
strcmp("abc", "abc\0\0") returns -2 and *NOT* 0

I learned this lesson painfully when I passed a string returned from mycrypt_decrypt into a NuSoap message, which happily passed the nulls along to the receiver, who couldn't figure out what I was talking about.

My solution was:
<?php
$retval
= mcrypt_decrypt( ...etc ...);
$retval = rtrim($retval, "\0"); // trim ONLY the nulls at the END
?>
To Top