Heim > Java > javaLernprogramm > Hauptteil

Analyse von Verschlüsselungs- und Entschlüsselungsbeispielen von PHP und Java des

WBOY
Freigeben: 2023-04-29 09:40:20
nach vorne
1263 Leute haben es durchsucht

des-Verschlüsselung ist eine Verschlüsselungsmethode, die im Internet bei der symmetrischen Verschlüsselung weit verbreitet ist. PHP unterstützt des-Verschlüsselung über die mcrypt-Erweiterungsbibliothek. Um des-Verschlüsselung in PHP zu verwenden, müssen Sie zuerst die mcrypt-Erweiterungsbibliothek installieren # #面#Das Folgende ist das Beispiel der Verschlüsselung und Entschlüsselung#🎜🎜 ## 🎜🎜 ## 🎜🎜#Kopieren Sie den Codecode wie folgt:

🎜🎜#$ ie iv_size = mcrypt_iv_size (mcrypt_rijndael_256, mcrypt_mode_ecb);# 🎜🎜 #$ iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

$key = „Das ist ein sehr geheimer Schlüssel“;//Key
$text = „Treffen Sie mich um 11 Uhr hinter dem monument." ;//Inhalt, der verschlüsselt werden muss

echo ($text) . "n";

$crypttext =base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv) ); # 🎜🎜#

MCRYPT_RIJNDAEL_128, MCRYPT_RIJNDAEL_192 und MCRYPT_RIJNDAEL_256 werden normalerweise im AES-Verschlüsselungsalgorithmus verwendet. Die folgenden 128, 192 und 256 stellen die Anzahl der Bits des geheimen Schlüssels (d. h. des verschlüsselten Schlüssels) dar Wenn Sie beispielsweise MCRYPT_RIJNDAEL_128 verwenden, beträgt die Länge des geheimen Schlüssels 128 Bit, wenn er mit diesem Algorithmus verschlüsselt wird. Beispiel: $key = 'fjjda0&9^$$#+*%$fada', also 20 Zeichen, dann sind es nur die ersten 16 Die bei der eigentlichen Verschlüsselung verwendeten Zeichen werden verschlüsselt (16*8=128), PHP mit weniger als 128 Bit verwendet '.

javax.crypto.Cipher importieren; 
import javax.crypto.spec.SecretKeySpec; 
  
import org.apache.commons.codec.binary.Base64; 
  
public class Security { 
    public static String encrypt(String input, String key){ 
        byte[] crypted = null; 
        try{ 
            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)); 

  
    public static String decrypt(String input, String key){ 
        byte[] output = null; 
        try{ 
            SecretKeySpec skey = new SecretKeySpec(key.getBytes(), "AES"); 
            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); 
            cipher.init(Cipher.DECRYPT_MODE, skey); 
            Ausgabe = 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 = "example"; 
         
        System.out.println(Security.encrypt(data, key)); 
         
        System.out.println(Security.decrypt(Security.encrypt(data, key), key)); 
         
             
    }    

Das obige ist der detaillierte Inhalt vonAnalyse von Verschlüsselungs- und Entschlüsselungsbeispielen von PHP und Java des. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!