Kuinka salata ja purkaa merkkijono PHP:ssä?

Kuinka Salata Ja Purkaa Merkkijono Php Ssa



Salaus on prosessi, jossa tiedot muunnetaan salaiseksi koodiksi tai muotoon, jota kukaan ei ymmärrä, jolla ei ole avainta sen purkamiseen. Salauksen purku on menettely näiden tietojen ottamiseksi ja palauttamiseksi alkuperäiseen, luettavaan muotoonsa. PHP:ssä, salaus, ja salauksen purku voidaan käyttää arkaluonteisten tietojen, kuten salasanojen, luottokorttitietojen ja muiden henkilötietojen suojaamiseen.

The salaus Algoritmin tulee ottaa tietojono, jonka haluat salata, ja käyttää valittua salausmenetelmää tietojen salaamiseen. Algoritmin pitäisi sitten palauttaa salatut tiedot muodossa, jonka voit tallentaa tietokantaan tai tiedostoon.

Vastaanottaja purkaa salaus tiedot, sinun tulee käyttää samaa salausmenetelmää tietojen salauksen purkamiseen, jota käytettiin niiden salaamiseen. Tämä tarkoittaa, että sinun on tallennettava avain jonnekin, jotta voit käyttää sitä tietojen purkamiseen myöhemmin.







Kuinka salata ja purkaa PHP-merkkijono?

PHP-merkkijono voi olla salattu ja salaus purettu käyttämällä openssl_encrpyt() ja openssl_decrypt() menetelmiä.



Salaa merkkijono käyttämällä openssl_encrypt()-funktiota

Vastaanottaja salaa merkkijono PHP:ssä käyttämällä openssl_encrypt() -toimintoa, sinun on annettava selvätekstimerkkijono, salausmenetelmä ja avain. Toiminto palauttaa salatut tiedot, jotka voit sitten tallentaa tai lähettää turvallisesti.



Syntaksi kohteelle openssl_encrypt() menetelmä on:





merkkijono openssl_encrypt ( merkkijono $data , merkkijono $menetelmä , merkkijono $avain , $optiot = 0 , merkkijono $iv , merkkijono $tag = TYHJÄ , merkkijono $ sinä , int $tag_length = 16 )
  • $data: Merkkijono tai tiedot, jotka haluat salata.
  • $method: Salausmenetelmä tai salaus, jota haluat käyttää. Voit saada luettelon tuetuista salausmenetelmistä käyttämällä openssl_get_cipher_methods()
  • $avain: Salausavain, jota käytetään tietojen salaamiseen. Sen tulee olla sopivan pituinen ja satunnainen merkkijono valitun salausmenetelmän mukaan.
  • $optiot: Valinnainen parametri, joka voi sisältää lisälippuja tietyille salausvaihtoehdoille. Voit yhdistää lippuja käyttämällä bittikohtaisesti TAI (|) Yleisiä lippuja ovat mm OPENSSL_RAW_DATA ja OPENSSL_ZERO_PADDING .
  • $iv: Alustusvektori (iv), jota käytetään salaukseen; sen tulee olla satunnainen ja ainutlaatuinen arvo, joka annetaan merkkijonona.
  • $tag: Valinnainen parametri, jota käytetään AEAD (Authenticated Encryption with Associated Data) -salaustiloissa, kuten GCM (Galois/Counter Mode) tai CCM (Counter with CBC-MAC). Se tallentaa salauksen aikana luodun todennustunnisteen.
  • Sinun: Muita todennettuja tietoja, joita voidaan käyttää AEAD-salaustiloissa.
  • $tag_length: Todennustunnisteen pituus. GCM-tilassa tagin pituus on 4–16 tavua.

Esimerkiksi:


$yksinkertainen_merkkijono = 'Tervetuloa Linuxhintiin \n ' ;
kaiku 'Alkuperäinen merkkijono:' . $yksinkertainen_merkkijono ;
$salaus = 'AES-128-CTR' ;
$iv_length = openssl_cipher_iv_length ( $salaus ) ;
$optiot = 0 ;
$salaus_iv = '1234567891011121' ;
$salausavain = 'Linux' ;
$salaus = openssl_encrypt ( $yksinkertainen_merkkijono , $salaus ,
$salausavain , $optiot , $salaus_iv ) ;
kaiku 'Salattu merkkijono:' . $salaus . ' \n ' ;
?>

Koodi ilmoittaa ensin perustekstin 'Tervetuloa Linuxhintiin' ja käyttää echo-komentoa sen näyttämiseen. Sitten se määrittää käytettävän salausalgoritmin, AES-128-CTR . Se käyttää myös openssl_cipher_iv_length() funktio laskea koon alustusvektori (IV) tarvitaan tähän salaukseen.



Koodi määrittää salauksen iv arvoa '1234567891011121' ja salausavain 'Linux' . Salattu merkkijono näytetään sitten käyttämällä echo-komentoa, kun salaus on valmis käyttämällä openssl_encrypt() toiminto. Salaukseen käytetyn satunnaisen alustusvektorin vuoksi lopullinen salattu merkkijono vaihtelee joka kerta.

Merkkijonon salauksen purkaminen openssl_decrypt()-funktiolla

Voit purkaa merkkijonon salauksen PHP:ssä käyttämällä openssl_decrypt() toiminto. Tämä toiminto ottaa salatut tiedot, salausmenetelmän ja avaimen syötteiksi ja palauttaa salatun tekstin.

Syntaksi kohteelle openssl_decrypt() menetelmä on:

merkkijono openssl_decrypt ( merkkijono $data , merkkijono $menetelmä , merkkijono $avain , int $optiot = 0 , merkkijono $iv , merkkijono $tag , merkkijono $ sinä )

Funktiolle välitetyt argumentit ovat:

  • $data: Salattu merkkijono tai data, jonka salauksen haluat purkaa.
  • $method: Salauksen aikana käytetty salausmenetelmä tai salaus. Voit saada luettelon tuetuista salausmenetelmistä käyttämällä openssl_get_cipher_methods()
  • $avain: Salausavain, jota käytettiin tietojen salaamiseen. Sen tulee vastata salauksen aikana käytettyä avainta.
  • $optiot: Valinnainen parametri, joka voi sisältää lisälippuja tietyille salauksenpurkuvaihtoehdoille. Voit yhdistää lippuja käyttämällä bittikohtaista OR (|) -operaattoria. Yleisiä lippuja ovat mm OPENSSL_RAW_DATA ja OPENSSL_ZERO_PADDING .
  • $iv: The alustusvektori (IV) käytetään salauksen aikana. Sen pitäisi olla sama IV, jota käytettiin salauksen aikana ja välitettiin merkkijonona.
  • $tag: Todennustunniste AEAD (Authenticated Encryption with Associated Data) salaustiloihin, kuten GCM (Galois/Counter Mode) tai CCM (Counter with CBC-MAC). Jos todennus epäonnistuu, openssl_decrypt() palauttaa FALSE.
  • Sinun: Muita todennettuja tietoja, joita käytettiin AEAD-salaustilojen salauksen aikana.

Palautusarvo: Jos onnistuu, se palauttaa salauksen puretun merkkijonon; muussa tapauksessa se palauttaa FALSE.

Esimerkiksi:


$salattu_merkkijono = 'rKaeYsYaNjkVbRPmJizrdX0xutLE' ;
kaiku 'Salattu merkkijono:' . $salattu_merkkijono . ' \n ' ;
$decryption_iv = '1234567891011121' ;
$salaus = 'AES-128-CTR' ;
$optiot = 0 ;
$salauksenpurkuavain = 'Linux' ;
$salauksen purku = openssl_decrypt ( $salattu_merkkijono , $salaus ,
$salauksenpurkuavain , $optiot , $decryption_iv ) ;
kaiku 'Salauksen purettu merkkijono:' . $salauksen purku ;
?>

Tämän koodin vektorin pituus lasketaan käyttämällä openssl_cipher_iv_length() toimintoa, ja salauksen aikana käytetään samoja salaus iv ja avainparametreja. Salausalgoritmi määritellään seuraavasti AES-128-CTR .

Aiemmin salatun merkkijonon salaus puretaan käyttämällä salausalgoritmia, salausavainta, asetuksia ja IV-arvoja. openssl_decrypt() toiminto. Tuloksena purettu teksti näytetään sitten käyttämällä echo-komentoa.

Johtopäätös

Verkkosivujen luomiseen liittyy usein salaus ja salauksen purku tiedot. Käyttämällä salausta arkaluonteisten tietojen suojaamiseen voit välttää käyttäjiäsi altistamasta identiteettivarkauksille, petoksille ja muille tietoturvauhkille. PHP:n merkkijonot voidaan salata ja purkaa funktioilla openssl_encrypt() ja openssl_decrypt() toimintoja. Käyttämällä salausalgoritmia ja avainta huolellisesti voit luoda vankan ja turvallisen järjestelmän arkaluonteisten tietojen käsittelyyn PHP-sovelluksissasi.