[java/php] java's PBEWithMD5AndDES in php

Pagina: 1
Acties:
  • 219 views

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hey allemaal,

Ik ben al een tijdje op zoek naar een functie in php (meerdere functies) die exact hetzelfde doet als PBEWithMD5AndDES in java. Dit omdat een java programmeur een activatie voor mij heeft geschreven voor een programma waar ik een activatiewebsite voor wil maken.

Is er iemand hier die weet hoe ik dit doe? (mag ook een andere taal zijn dan php als ik maar een activatie website heb die ook van en naar een database kan lezen/schrijven.)

Thanks

Acties:
  • 0 Henk 'm!

  • DanielG
  • Registratie: Oktober 2005
  • Laatst online: 08-09 15:36

DanielG

i = 0x5f3759df - (i>>1); ☠₧ℳ🀪❣

Denk toch dat je zelf moet uitzoeken hoe PBEWithMD5AndDES werkt en het emuleren met Mcrypt.

http://xyproblem.info/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Lijkt dus te gaan om een password based DES algoritme die het wachtwoord in MD5 gebruikt als Encr.key

Klinkt heel duidelijk... Ik snap er alleen niks van.

De java code is dit:
Java: 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
    public static String generateUserActivationCode(String userRegCode, byte[]mac) {
        byte[] ownKey = new byte[] { 59, 100, 83, 52, 109, 100, 57, 83, 39, 119, 122, 51, 71 };
        byte [] keyToUse = makeKeytoUse(ownKey,mac);
        byte [] encryptedData = decriptData(mac, keyToUse);
        if(encryptedData == null){
            return "Error while Generating activatie code";
        }
        return Base64CoderDecoder.encodeLines(encryptedData);
    }
    
    private static byte[] decriptData(byte[] mac, byte[] keyToUse) {

        String macStr = toMacString('q', mac);
        String totalStr = "pietjepuk"+macStr;
        new String(keyToUse);
        try {
            PBEKeySpec pbeKeySpec = new PBEKeySpec(new String(keyToUse).toCharArray());
            SecretKeyFactory skf = SecretKeyFactory.getInstance("PBEWithMD5AndDES");
            SecretKey key = skf.generateSecret(pbeKeySpec);
            PBEParameterSpec paramSpec = new PBEParameterSpec(salt, Iterations);
            
            // Create a cipher and initialize it for encrypting         
            Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES");
            cipher.init(Cipher.ENCRYPT_MODE, key, paramSpec);           
            byte[] ciphertext = cipher.doFinal(totalStr.getBytes());
            
            return ciphertext;
        } catch (NoSuchAlgorithmException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }  catch (NoSuchPaddingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InvalidKeyException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }  catch (IllegalBlockSizeException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (BadPaddingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InvalidKeySpecException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InvalidAlgorithmParameterException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }


kan iemand me helpen hier wat in php uit te krijgen?

[ Voor 96% gewijzigd door Verwijderd op 26-03-2010 15:55 . Reden: nieuwe info ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op vrijdag 26 maart 2010 @ 15:30:
Ik snap er alleen niks van.

kan iemand me helpen hier wat in php uit te krijgen?
Kan iemand even...? Nee dus.

Ik zie dat je nieuw bent op GoT. In dat geval kun je 't best even onze Quickstart doornemen. Ik kan je vast vertellen dat we hier behoorlijk wat eigen inzet en initiatief verwachten; we zitten hier niet om helpdeskje te spelen of mensen voorgekauwd werk op een zilveren schaaltje aan te reiken ;)

Desalniettemin van harte welkom op GoT en een leuke tijd gewenst :w

[ Voor 42% gewijzigd door RobIII op 26-03-2010 17:11 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Dit topic is gesloten.