PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   Archiv / Trash (https://www.php-resource.de/forum/archiv-trash/)
-   -   AES Verschlüsselung Java > PHP (https://www.php-resource.de/forum/archiv-trash/99686-aes-verschluesselung-java-php.html)

moggu11 08-06-2010 17:06

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;
 



h3ll 08-06-2010 17:17

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


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:12 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG