AES Verschlüsselung Java > PHP

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • AES Verschlüsselung Java > PHP

    Hallo,
    hat jemand Erfahrung mit AES Verschlüsselung?
    Ich muss eine Java AES-Verschlüsselungsfunktion auf PHP portieren.
    ganz Unten der Ansatz, komme aber leider nicht weiter.



    Java Code
    ==========
    (Werte wurden geändert)

    Code:
    	// private key
    	private final static String KEY = "bfjrntmgkh34n576jdz67mfu";
    	// init vector
    	private final static String IV = "fngjtme45igklumh67m";
    	// date format
    	private final static String DATE_FORMAT = "yyyyMMdd";
    	
    	// name of algorithm 
    	private final static String ALGORITHM = "AES";
    	
    	// specification of encryption
    	private final static String ENCRYPTION = ALGORITHM +  "/CBC/ISO10126PADDING";
    
    
        public String encrypt(String inputString) throws Exception {
    
    		Calendar calendar  = Calendar.getInstance();
    		TimeZone utcTimeZone = TimeZone.getTimeZone("UTC");
    		DateFormat formatObj = new SimpleDateFormat(DATE_FORMAT);
    		formatObj.setTimeZone(utcTimeZone);
    		String utcStr = formatObj.format(calendar.getTime());
    				
    		String initVectorStr = MessageFormat.format(IV, utcStr);
    		
    		byte [] key = CustomBase64.decode(KEY);
    		byte [] iv = CustomBase64.decode(initVectorStr);
    		
    		SecretKeySpec keySpec = new SecretKeySpec(key, ALGORITHM);
    		IvParameterSpec ivSpec = new IvParameterSpec(iv);
    		Cipher cipher = Cipher.getInstance(ENCRYPTION);
    		cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivSpec);		
    
    		byte [] input= inputString.getBytes();		
    		byte [] output = new byte[cipher.getOutputSize(input.length)];
    		int ptLength = cipher.update(input, 0, input.length, output, 0);
    		ptLength += cipher.doFinal(output, ptLength);
    		
    		String result = CustomBase64.encode(output);		
    		result = result.replaceAll("\r", "").replaceAll("\n",  "").replaceAll("\t", "");
    				
    		return result;
    	}


    PHP Code
    ==========

    erster Ansatz ?
    wie muss ich diese SecretKeySpec und Date Funktionen anwenden ??
    und was hat es mit dem ISO10126PADDING auf sich ?
    hat da jemand Erfahrung ?

    PHP-Code:
    function encryptAES($data,$key,$iv) {

      
    // Setzt den Verschlüsselungsalgorithmus
      
    $cp mcrypt_module_open('rijndael-128''''cbc''');

        
      
    // Ermittelt die Anzahl der Bits, welche die Schlüssellänge 
      // des Keys festlegen
      
    $ks mcrypt_enc_get_key_size($cp);
      
      
    // Erstellt den Schlüssel, der für die Verschlüsselung genutzt wird
      
    $key substr(md5($key), 0$ks);
      
      
    // Initialisiert die Verschlüsselung
      
    mcrypt_generic_init($cp$key$iv);

      
    // Verschlüsselt die Daten
      
    $encrypted mcrypt_generic($cp$data);
      
      
    // Deinitialisiert die Verschlüsselung 
      
    mcrypt_generic_deinit($cp);
      
      
    // Schließt das Modul
      
    mcrypt_module_close($cp);
      
      return 
    $encrypted;
     


  • #2
    AES Verschlüsselung Java > PHP - Forum: phpforum.de

    Kommentar

    Lädt...
    X