PHP - somo la 42: Jinsi ya kufanya encryption na de cryption kwa kutumia PHP


image



Katika somo hili utakwenda kujifunza jinsi ya kufanya encryption na decryption kwa kutumia PHP. hii itakusaidia kuongeza usalama kwenye taarifa za watu



KUFICHA NA KUFICHUWA TAARIFA (ENCRYPTION AND DECRYPTION)

 

  1. KUFANYA ENCRYPTION

Matumizi ya msingi ya encryption ni kwenye password,hata hivyo inaweza kutumika kwenye maeneo mengi. Changamoto ya hashing ni kuwa huwezi kurudisha katika hali ya asili. Hivyo sio vyema kufanya hashing email za watu ambazo utazihitaji kwa matumizi mengine. Hivyo basi ili kuficha email na taarifa zingine ambazo unahitaji kusisoma ni kwa kutumia encryption.

 

Kwa mfano email mafunzo@bongoclass.com inaweza kuwa hivi c/tsSBSi703k1jy2SGDNSy5zHYZBiw== uzuri wa encryption unaweza kurudisha hizo encription kuwa katika hali ya kwaida. Kitendo hiki kinaitwa decryption. Katika somo hili tutatumia open ssl kufanya encryption na decryption.

 

  1. Kufanya encryption:

Kanuni ya ku encrypt taarifa. Kwa ufupi tunafanya encryption kwa kutumia function inayoitwa openssl_encrypt() hata hivyo zipo nyingi. Tunatumia hii kwa kuwa ni free.

openssl_encrypt($data, $cipher,$key, $options, $encryption_iv)

 

Saa hapo wacha nikueleze kwanza kila kimoja kazi yake:

  1. $data hii ndio hubeba hiyo taarifa ambayo ndio tunakwedna kui encrypt

  2. $cipher hii ni nia ambayo hutumika ili kmu encrypt taarifa. Kwa kuwa tunatumia openssl hapa njia tutakayotumia ni AES-128-CTR  

  3.  $key Hii ni sawa na kusema neno la siri ambalo litatumika wakati wa kuzifichuwa taarifa yaani ku decrypt. Hii key ni hatari sana kwa kuwa mtu akiipata anaweza kufichuwa taarifa ulizoficha.hivyo inatakiwa ufiche na uweke strong kama vile ni password yako.

  4. $option hapa kunakaa namba kulingana na method itakayotumiaka tutaacha 0 kwa kuwa tunatumia openssl.

  5. $iv hii ndio encryption method. Hapa tutatumia funvtion inayoitwa openssl_cipher_iv_length()ambapo ndi yake tutaweka cipher kama parameta yake.

  6. $encryption_iv  hii ndio ambayo huanza kubeba hizo taarifa na kuzichakata kulingana na cipher iliyotumiaka. 

 

Encryption:

<?php

$data = "mafunzo@bongoclass.com";

$cipher = "AES-128-CTR";

$iv = openssl_cipher_iv_length($cipher);

$options = 0;

$encryption_iv = '1234567891011121';

$key = "Bong_cc293";

$encryption = openssl_encrypt($data, $cipher,

   $key, $options, $encryption_iv);

echo " $encryption";

Hii itakupa matokeo

c/tsSBSi703k1jy2SGDNSy5zHYZBiw==

 

 

2. Kufanya decryption:

Decryption ni kufichuwa taarifa. Yaani sasa tunakwenda kubadili hiyo c/tsSBSi703k1jy2SGDNSy5zHYZBiw== kuwa neno la asili. Kitu kama hiki hakiwezi kufanyika kwa kutumia hashing. Sasa kanuni ni kama tuliotumia hapo juu. Kuna utofauti mdogo tu

 

Kanuni ya kufanya decryption

openssl_decrypt ($data, $cipher,$key, $options, $decryption_iv);

Utaona hapo utofauti n i mdogo karbia parameta zote ni sawa. Tofauti ni kuwa kwenye encryption tumetumia openssl_encrypt() lakini hapa tunatumia opebssl_decrypt()

 

 

<?php

$options = 0;

$data = "c/tsSBSi703k1jy2SGDNSy5zHYZBiw==";

$cipher = "AES-128-CTR";

$decryption_iv = '1234567891011121';

$decryption_key = "Bong_cc293";

$decryption=openssl_decrypt ($data, $cipher,

   $key, $options, $decryption_iv);

echo "  $decryption";

?>

 

Hiyo itakupa matokeo

mafunzo@bongoclass.com

 

Endappo utabadilisha encryption key hutoweza kupata matokeo husika. Hivyo ni jambo la msingi kabisa kuhifadhi vyema encryption key yako. Katika somo hili tumetumia email lakini unaweza kutumia data nyingi zaidi ya email.

 

MWISHO:

Tukutane somo lainalofuata tutajifunza kuhusu namna ya kutuma email. Utakapojuwa kutuma email itakuwa ni rahisi kutengeneza program ya kuweza ku renew password endapo mtu atasahau.



Je! umeipenda hii post?
Ndio            Hapana            Save post

Imeandikwa na Rajabu Terehe 2023-10-19 Download PDF Share on facebook WhatsApp

RELATED POSTS

picha

Katika somo hili uatakwenda kujifunza jinsi ya kutumia htaccess ili
picha

Katika somo hili utajifunza kuhusu syntax za PHP
picha

katika post hii utajifunza jinsi ya kutengeneza ukurasa wa dashboard
picha

Katika somo hili utajifnza jinsi ya kufanya prepared statement kama
picha

Katika somo hilibutajifunza maana ya cURL pamoja na matumini yake
picha

Katika somo hili utakwenda kujifunza jinsi ya kutumia taarifa ambazo
picha

Katika somo hili utakwenda kujifunza kazi na matumizi ya construct
picha

katika somo hili utajfunza kukusanya taarifa za mafaili. kisha ku
picha

Katika somo hili utakwenda kujifunza concept ya traits kwenye OOP.
picha

Katika somo hili utajifunza jinsiya kufanya hashing taarifa muhimu kama
picha

Katika somo hili utajifunza jinsi ya kukusanya taarifa ambazo watu
picha

katika post hii utajifunza jinsi ya kufuta post kwenye database.
picha

Katika somo hili utakwenda kujifunza kuhusu class inheritance kwenye object
picha

Katika somo hili utajifunza jinsi ya kufuta table ya databse
picha

Katika somo hili utakwendakujifunza concept ya namespaces na jinsi inavyosaidi
picha

Katika somo hili utakwenda kujifunza jinsi ya kusoma data kutoka