PHP/Szyfrowanie: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
Poprawiono błąd logiczny. |
Podział na szyfrowanie i hashowanie |
||
Linia 1:
== Szyfrowanie ==
W języku PHP dane można hashować (w odróżnieniu od szyfrowania jest to proces jednostronny) używając do tego specjalnych funkcji, np. sha1 lub md5.▼
PHP udostępnia możliwość szyfrowania co jest procesem obustronnym - dane można zarówno zaszyfrować jak i odszyfrować. Przykładowymi funkcjami szyfrującymi są base64.
* base64_encode - koduje ciąg
* base64_decode - dekoduje ciąg
<source lang="php">
<?php
$tekst = "Przykładowy tekst z różnymi znakami specjalnymi @#$ do zakodowania.";
$zaszyfrowane = base64_encode($tekst);
echo($zaszyfrowane);
// UHJ6eWuzYWRvd3kgdGVrc3QgeiBy879ueW1pIHpuYWthbWkgc3BlY2phbG55bWkgQCMkIGRvIHpha29kb3dhbmlhLg==
$odszyfrowane = base64_decode($zaszyfrowane);
echo($odszyfrowane);
// Przykładowy tekst z różnymi znakami specjalnymi @#$ do zakodowania.
if($tekst == $odszyfrowane)
echo("Wszystko w porządku.");
?>
</source>
== Hashowanie ==
▲
<source lang="php">
Linia 10 ⟶ 37:
Powyżej przedstawiony jest skrypt hashujący dane odbierane z formularza POST. Funkcji tej można używać np. do hashowania haseł użytkowników, w skrypcie rejestracji, tak by nie dały się rozszyfrować.
''' Funkcje hashujące '''
* sha1
* md5
* hash
* crc32
* crypt
W przypadku hashowania plików zazwyczaj wymagane jest użycie innej funkcji. Najczęściej wystarczy dodać "_file" (np. md5_file) jednak nie jest to reguła. Zaleca się unikać hashowania dużych plików gdyż operacja ta może znacznie obciążyć maszynę, na której uruchomiony zostanie ów skrypt.
|