Maison > Java > javaDidacticiel > Analyse d'exemples de chiffrement et de décryptage de PHP et Java des

Analyse d'exemples de chiffrement et de décryptage de PHP et Java des

WBOY
Libérer: 2023-04-29 09:40:20
avant
1384 Les gens l'ont consulté

Le cryptage des est une méthode de cryptage largement utilisée sur Internet dans le cryptage symétrique. PHP prend en charge le cryptage des via la bibliothèque d'extensions mcrypt. Pour utiliser le cryptage des en Php, vous devez d'abord installer la bibliothèque d'extensions mcrypt

Ce qui suit est le cryptage. et exemple de décryptage

Copiez le code comme suit :

$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);/ /Key
$text = "Rendez-vous à 11 heures derrière le monument.";//Contenu qui doit être chiffré
echo ($text)
$crypttext =base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $. key, $text , MCRYPT_MODE_ECB, $iv));
echo $crypttext .//Contenu crypté
echo mcrypt_decrypt(MCRYPT_RIJNDAEL_256,$key,base64_decode($crypttext),MCRYPT_MODE_ECB,$iv);//Contenu décrypté

MCRYPT_RIJNDAEL_128, MCRYPT_RIJNDAEL_192 et MCRYPT_RIJNDAEL_256 sont généralement utilisés dans l'algorithme de cryptage AES. Les 128, 192 et 256 suivants représentent le nombre de bits de la clé secrète (c'est-à-dire la clé cryptée). Par exemple, MCRYPT_RIJNDAEL_128 est utilisé. Ensuite, lorsque vous utilisez cet algorithme pour chiffrer, la longueur de la clé est de 128 bits. Par exemple, $key = 'fjjda0&9^$$#+*%$fada' contient 20 caractères. Ensuite, seuls les 16 premiers caractères sont utilisés pour le chiffrement ( 16. *8=128), sera utilisé en PHP inférieur à 128 bits

importer javax.crypto.Cipher ; 
importer javax.crypto.spec.SecretKeySpec ; 
  
importer org.apache.commons.codec.binary.Base64 ; 
  
public class Security { 
    public static String encrypt (Entrée de chaîne, clé de chaîne){ 
        byte[] crypted = null; 
        essayez{ 
            SecretKeySpec skey = new SecretKeySpec(key.getBytes(), "AES"); 
            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); 
            cipher.init(Cipher.ENCRYPT_MODE, skey); 
            crypted = cipher.doFinal(input.getBytes()); 
        }catch(Exception e){ 
        System.out.println(e.toString()); 
    } 
    return new String(Base64.encodeBase64(crypted)); 

  
    décryptage de chaîne statique publique (entrée de chaîne, clé de chaîne){ 
        byte[] sortie = null ; 
        essayez{ 
            SecretKeySpec skey = new SecretKeySpec(key.getBytes(), "AES"); 
            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); 
            cipher.init(Cipher.DECRYPT_MODE, skey); 
            output = cipher.doFinal(Base64.decodeBase64(input)); 
            }catch(Exception e){ 
            System.out.println(e.toString()); 
        } 
        return new String(output); 
    } 
  
    public static void main(String[] args) { 
        String key = "1234567891234567"; 
        String data = "exemple" ; 
         
        System.out.println(Security.encrypt(data, key)); 
         
        System.out.println(Security.decrypt(Security.encrypt(data, key), key)); 
         
             
    }    

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal