Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/04/2015, 09:16
Avatar de tquezada
tquezada
 
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 196
Antigüedad: 11 años, 2 meses
Puntos: 8
Pasar una función de java a php

Amigos tengo un terrible problema:
Tengo un password que tengo que guardarla de la siguiente manera

Pass originar: 123456789

Pass MD5: 25f9e794323b453885f5181f1b624d0b
Todo bien hasta acá
Tomar PassMD5 pero tratarlo como hexadecimal
Pass Hexadecimal: 25 f9 e7 94 32 3b 45 38 85 f5 18 1f 1b 62 4d 0b
Tomar Pass Hexadecimal transformar a binario
Pass Binario: 37 -7 -25 -108 50 59 69 56 -123 -11 24 31 27 98 77 11
Tomar Pass Binario y tranformar a EncodeBase64
Pass EncodeBase64: JfnnlDI7RTiF9RgfG2JNCw==
Pass EncodeBase64 agregar prefijo {MD5}
Pass que genera java: {MD5}JfnnlDI7RTiF9RgfG2JNCw==

Entonces así debería guardar en la base de datos {MD5}JfnnlDI7RTiF9RgfG2JNCw==
Ejemplo en JAVA, para traspasarlo a PHP.

Código Java:
Ver original
  1. //Pass "123456789" en MD5
  2.                     String pass = "25f9e794323b453885f5181f1b624d0b";
  3.                     //Transformar a Binario
  4.                     byte[] bts = new byte[p.length() / 2];
  5.                     for (int i = 0; i < bts.length; i++) {
  6.                         bts[i] = (byte) Integer.parseInt(p.substring(2*i, 2*i+2), 16);
  7.                     }
  8.                     //Transformar Binario a EncodeBase64 utilizando org.apache.commons.codec.binary.Base64;
  9.                     byte[] encodedBytes = Base64.encodeBase64(bts);
  10.                     System.out.println("{MD5}" + new String(encodedBytes));

Ojala alguien sepa como pasarlo de java a php, por que no he podido

Gracias.
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.