PHP இல் சரத்தை குறியாக்கம் மற்றும் மறைகுறியாக்கம் செய்வது எப்படி?

Php Il Carattai Kuriyakkam Marrum Maraikuriyakkam Ceyvatu Eppati



குறியாக்கம் தரவை ரகசியக் குறியீடாகவோ அல்லது டிகோட் செய்வதற்கான விசை இல்லாத எவருக்கும் புரியாத வடிவமாகவோ மாற்றும் செயல்முறையாகும். மறைகுறியாக்கம் அந்த தகவலை எடுத்து அதன் அசல், படிக்கக்கூடிய வடிவத்திற்கு திரும்புவதற்கான செயல்முறை ஆகும். PHP இல், குறியாக்கம், மற்றும் மறைகுறியாக்கம் கடவுச்சொற்கள், கிரெடிட் கார்டு தகவல் மற்றும் பிற தனிப்பட்ட தரவு போன்ற முக்கியமான தரவைப் பாதுகாக்கப் பயன்படுத்தலாம்.

தி குறியாக்கம் நீங்கள் குறியாக்கம் செய்ய விரும்பும் தரவின் சரத்தை அல்காரிதம் எடுத்துக் கொள்ள வேண்டும் மற்றும் தரவை குறியாக்க தேர்ந்தெடுக்கப்பட்ட குறியாக்க முறையைப் பயன்படுத்த வேண்டும். அல்காரிதம் நீங்கள் தரவுத்தளத்திலோ கோப்பிலோ சேமிக்கக்கூடிய வடிவத்தில் மறைகுறியாக்கப்பட்ட தரவைத் திருப்பித் தர வேண்டும்.

செய்ய மறைகுறியாக்கம் தரவு, குறியாக்கப் பயன்படுத்தப்பட்ட தரவை மறைகுறியாக்க அதே குறியாக்க முறையைப் பயன்படுத்த வேண்டும். இதன் பொருள் நீங்கள் விசையை எங்காவது சேமிக்க வேண்டும், இதன் மூலம் தரவை பின்னர் டிகோட் செய்ய பயன்படுத்தலாம்.







PHP சரத்தை குறியாக்கம் செய்வது மற்றும் மறைகுறியாக்கம் செய்வது எப்படி?

ஒரு PHP சரம் இருக்கலாம் மறைகுறியாக்கப்பட்ட மற்றும் மறைகுறியாக்கப்பட்ட பயன்படுத்தி openssl_encrpyt() மற்றும் openssl_decrypt() முறையே முறையே.



Openssl_encrypt() செயல்பாட்டைப் பயன்படுத்தி ஒரு சரத்தை குறியாக்கம் செய்யவும்

செய்ய ஒரு சரத்தை குறியாக்கம் PHP இல் பயன்படுத்தி openssl_encrypt() செயல்பாடு, நீங்கள் எளிய உரை சரம், குறியாக்க முறை மற்றும் ஒரு விசையை வழங்க வேண்டும். செயல்பாடு மறைகுறியாக்கப்பட்ட தரவை வழங்கும், அதை நீங்கள் பாதுகாப்பாக சேமிக்கலாம் அல்லது அனுப்பலாம்.



க்கான தொடரியல் openssl_encrypt() முறை:





சரம் openssl_encrypt ( லேசான கயிறு $தரவு , லேசான கயிறு $முறை , லேசான கயிறு $விசை , $விருப்பங்கள் = 0 , லேசான கயிறு $iv , லேசான கயிறு $டேக் = ஏதுமில்லை , லேசான கயிறு $ நீங்கள் , முழு எண்ணாக $tag_length = 16 )
  • $தரவு: நீங்கள் குறியாக்கம் செய்ய விரும்பும் சரம் அல்லது தரவு.
  • $முறை: நீங்கள் பயன்படுத்த விரும்பும் குறியாக்க முறை அல்லது மறைக்குறியீடு. ஐப் பயன்படுத்தி ஆதரிக்கப்படும் சைஃபர் முறைகளின் பட்டியலைப் பெறலாம் openssl_get_cipher_methods()
  • $key: தரவை என்க்ரிப்ட் செய்ய பயன்படுத்தப்படும் என்க்ரிப்ஷன் கீ. தேர்ந்தெடுக்கப்பட்ட சைஃபர் முறையின் அடிப்படையில் இது பொருத்தமான நீளம் மற்றும் சீரற்ற தன்மை கொண்ட சரமாக இருக்க வேண்டும்.
  • $விருப்பங்கள்: குறிப்பிட்ட குறியாக்க விருப்பங்களுக்கான கூடுதல் கொடிகளை உள்ளடக்கிய ஒரு விருப்ப அளவுரு. நீங்கள் பயன்படுத்தி கொடிகளை இணைக்கலாம் பிட்வைஸ் அல்லது (|) பொதுவான கொடிகள் அடங்கும் OPENSSL_RAW_DATA மற்றும் OPENSSL_ZERO_PADDING .
  • $iv: குறியாக்கத்திற்கு பயன்படுத்தப்படும் துவக்க திசையன் (iv); இது ஒரு சரமாக வழங்கப்பட்ட சீரற்ற மற்றும் தனித்துவமான மதிப்பாக இருக்க வேண்டும்.
  • $tag: GCM (Galois/கவுண்டர் பயன்முறை) அல்லது CCM (CBC-MAC உடன் எதிர்) போன்ற AEAD (அங்கீகரிக்கப்பட்ட குறியாக்கத்துடன் தொடர்புடைய தரவு) சைபர் முறைகளுக்குப் பயன்படுத்தப்படும் விருப்ப அளவுரு. இது குறியாக்கத்தின் போது உருவாக்கப்பட்ட அங்கீகார குறிச்சொல்லை சேமிக்கிறது.
  • உங்கள்: AEAD சைபர் முறைகளுக்குப் பயன்படுத்தக்கூடிய கூடுதல் அங்கீகரிக்கப்பட்ட தரவு.
  • $tag_length: அங்கீகார குறிச்சொல்லின் நீளம். GCM பயன்முறையில், டேக் நீளம் 4 முதல் 16 பைட்டுகள் வரை இருக்கும்.

உதாரணத்திற்கு:


$simple_string = 'Linuxhint க்கு வரவேற்கிறோம் \n ' ;
எதிரொலி 'அசல் சரம்:' . $simple_string ;
$ மறைக்குறியீடு = 'AES-128-CTR' ;
$iv_length = openssl_cipher_iv_length ( $ மறைக்குறியீடு ) ;
$விருப்பங்கள் = 0 ;
$encryption_iv = '1234567891011121' ;
$encryption_key = 'லினக்ஸ்' ;
$குறியாக்கம் = openssl_encrypt ( $simple_string , $ மறைக்குறியீடு ,
$encryption_key , $விருப்பங்கள் , $encryption_iv ) ;
எதிரொலி 'மறைகுறியாக்கப்பட்ட சரம்:' . $குறியாக்கம் . ' \n ' ;
?>

குறியீடு முதலில் அடிப்படை உரையை அறிவிக்கிறது 'Linuxhint க்கு வரவேற்கிறோம்' அதைக் காட்ட எதிரொலி கட்டளையைப் பயன்படுத்துகிறது. பின்னர், அது பயன்படுத்த வேண்டிய குறியாக்க வழிமுறையைக் குறிப்பிடுகிறது, AES-128-CTR . இதுவும் பயன்படுத்துகிறது openssl_cipher_iv_length() இன் அளவைக் கணக்கிடுவதற்கான செயல்பாடு துவக்க திசையன் (IV) இந்த மறைக்குறியீட்டிற்கு தேவை.



குறியீடு குறியாக்கத்தை அமைக்கிறது iv மதிப்பு ‘1234567891011121’ மற்றும் குறியாக்க விசை 'லினக்ஸ்' . மறைகுறியாக்கப்பட்ட சரம், echo கட்டளையைப் பயன்படுத்தி குறியாக்கம் முடிந்ததும் காண்பிக்கப்படும் openssl_encrypt() செயல்பாடு. குறியாக்கத்திற்கு பயன்படுத்தப்படும் சீரற்ற துவக்க திசையன் காரணமாக, இறுதி மறைகுறியாக்கப்பட்ட சரம் ஒவ்வொரு முறையும் மாறுபடும்.

openssl_decrypt() செயல்பாட்டைப் பயன்படுத்தி ஒரு சரத்தை டிக்ரிப்ட் செய்யவும்

PHP இல் ஒரு சரத்தை மறைகுறியாக்க, நீங்கள் இதைப் பயன்படுத்தலாம் openssl_decrypt() செயல்பாடு. இந்தச் செயல்பாடு மறைகுறியாக்கப்பட்ட தரவு, குறியாக்க முறை மற்றும் விசையை உள்ளீடுகளாக எடுத்து மறைகுறியாக்கப்பட்ட எளிய உரையை வழங்குகிறது.

க்கான தொடரியல் openssl_decrypt() முறை:

சரம் openssl_decrypt ( லேசான கயிறு $தரவு , லேசான கயிறு $முறை , லேசான கயிறு $விசை , முழு எண்ணாக $விருப்பங்கள் = 0 , லேசான கயிறு $iv , லேசான கயிறு $டேக் , லேசான கயிறு $ நீங்கள் )

செயல்பாட்டிற்கு அனுப்பப்பட்ட வாதங்கள்:

  • $தரவு: நீங்கள் மறைகுறியாக்க விரும்பும் என்க்ரிப்ட் செய்யப்பட்ட சரம் அல்லது தரவு.
  • $முறை: குறியாக்கத்தின் போது பயன்படுத்தப்படும் குறியாக்க முறை அல்லது மறைக்குறியீடு. ஐப் பயன்படுத்தி ஆதரிக்கப்படும் சைஃபர் முறைகளின் பட்டியலைப் பெறலாம் openssl_get_cipher_methods()
  • $key: தரவை குறியாக்க பயன்படுத்தப்பட்ட குறியாக்க விசை. இது குறியாக்கத்தின் போது பயன்படுத்தப்படும் விசையுடன் பொருந்த வேண்டும்.
  • $விருப்பங்கள்: குறிப்பிட்ட மறைகுறியாக்க விருப்பங்களுக்கான கூடுதல் கொடிகளை உள்ளடக்கிய ஒரு விருப்ப அளவுரு. பிட்வைஸ் அல்லது (|) ஆபரேட்டரைப் பயன்படுத்தி நீங்கள் கொடிகளை இணைக்கலாம். பொதுவான கொடிகள் அடங்கும் OPENSSL_RAW_DATA மற்றும் OPENSSL_ZERO_PADDING .
  • $iv: தி துவக்க திசையன் (IV) குறியாக்கத்தின் போது பயன்படுத்தப்படுகிறது. இது குறியாக்கத்தின் போது பயன்படுத்தப்பட்டு சரமாக அனுப்பப்பட்ட அதே IV ஆக இருக்க வேண்டும்.
  • $tag: GCM (Galois/Counter Mode) அல்லது CCM (CBC-MAC உடன் எதிர்) போன்ற AEAD (தொடர்புடைய தரவுகளுடன் அங்கீகரிக்கப்பட்ட குறியாக்கம்) சைபர் முறைகளுக்கான அங்கீகார குறிச்சொல். அங்கீகாரம் தோல்வியுற்றால், openssl_decrypt() FALSEஐ வழங்கும்.
  • உங்கள்: AEAD மறைக்குறியீடு முறைகளுக்கான குறியாக்கத்தின் போது பயன்படுத்தப்பட்ட கூடுதல் அங்கீகரிக்கப்பட்ட தரவு.

வருவாய் மதிப்பு: வெற்றியடைந்தால், அது மறைகுறியாக்கப்பட்ட சரத்தை வழங்குகிறது; இல்லையெனில், அது தவறானது.

உதாரணத்திற்கு:


$encrypted_string = 'rKaeYsYaNjkVbRPmJizrdX0xutLE' ;
எதிரொலி 'மறைகுறியாக்கப்பட்ட சரம்:' . $encrypted_string . ' \n ' ;
$decryption_iv = '1234567891011121' ;
$ மறைக்குறியீடு = 'AES-128-CTR' ;
$விருப்பங்கள் = 0 ;
$decryption_key = 'லினக்ஸ்' ;
$ மறைகுறியாக்கம் = openssl_decrypt ( $encrypted_string , $ மறைக்குறியீடு ,
$decryption_key , $விருப்பங்கள் , $decryption_iv ) ;
எதிரொலி 'மறைகுறியாக்கப்பட்ட சரம்:' . $ மறைகுறியாக்கம் ;
?>

இந்த குறியீட்டில் உள்ள திசையன் நீளம் ஐப் பயன்படுத்தி கணக்கிடப்படுகிறது openssl_cipher_iv_length() செயல்பாடு, மற்றும் அதே குறியாக்க iv மற்றும் முக்கிய அளவுருக்கள் குறியாக்கத்தின் போது பயன்படுத்தப்படுகின்றன. மறைக்குறியீடு அல்காரிதம் என வரையறுக்கப்படுகிறது AES-128-CTR .

முன்னர் மறைகுறியாக்கப்பட்ட சரம் மறைக்குறியீடு அல்காரிதம், குறியாக்க விசை, அமைப்புகள் மற்றும் IV மதிப்புகளைப் பயன்படுத்தி மறைகுறியாக்கப்பட்டது openssl_decrypt() செயல்பாடு. இதன் விளைவாக மறைகுறியாக்கப்பட்ட உரை எதிரொலி கட்டளையைப் பயன்படுத்தி காண்பிக்கப்படும்.

முடிவுரை

வலைத்தளங்களை உருவாக்குவது பெரும்பாலும் அடங்கும் மறைகுறியாக்கம் மற்றும் மறைகுறியாக்கம் தகவல்கள். முக்கியத் தரவைப் பாதுகாக்க குறியாக்கத்தைப் பயன்படுத்துவதன் மூலம், அடையாளத் திருட்டு, மோசடி மற்றும் பிற பாதுகாப்பு அச்சுறுத்தல்களுக்கு உங்கள் பயனர்களை வெளிப்படுத்துவதைத் தவிர்க்கலாம். PHP இல் உள்ள சரங்களை செயல்பாடுகள் மூலம் குறியாக்கம் மற்றும் மறைகுறியாக்கம் செய்யலாம் openssl_encrypt() மற்றும் openssl_decrypt() செயல்பாடுகள். குறியாக்க அல்காரிதம் மற்றும் விசையை கவனமாகப் பயன்படுத்துவதன் மூலம், உங்கள் PHP பயன்பாடுகளில் முக்கியமான தரவைக் கையாள ஒரு வலுவான மற்றும் பாதுகாப்பான அமைப்பை நீங்கள் உருவாக்கலாம்.