Foro sobre Java SE > PAGO $500USD POR QUE ME AYUDEN
Hola,
Necesitas calcular la firma para una pasarela de pago. Eso esta claro. Pero tu duda no lo esta tanto. Que necesitas? Solo saber como calcular el SHA1 de todos esos datos en Java?
Este codigo te permite utilizar sha1 u otros algoritmos de hash (md5, etc)
Su uso es hash("SHA-1", text);
public static String hash(String algo, String plainText) {
if (plainText == null) {
return null;
}
MessageDigest digest;
try {
digest = MessageDigest.getInstance(algo);
} catch (NoSuchAlgorithmException e) {
System.err.println("No such digest algorithm with registered providers: " + algo);
return "";
}
byte[] hash = digest.digest(plainText.getBytes());
return Hexa.toString(hash);
}
Puedes crearte por ejemplo un metodo:
public static String doSHA1(String text) {
return hash("SHA-1", text);
}
Un saludo
pasame tu correo y te explico en un mail, y si me realizas el precedimiento que te enviare te doy los 500 usd neto no es un engaño we me urge porque de eso depende muchas cosas de mi chamba
ESTO ES UN EJEMPLO, DE COMO CREAR EL SHA1, TENGO OTROS DATOS QUE QUIESIERA QUE ES IGUAL Y PAGO 500 USD PARA SABER COMO HACERLO
7.6.2 Gateways “entradaXMLEntidad” y “operaciones”
En este caso la firma electrónica del comercio se deberá calcular concatenando el valor de los siguientes campos (salvo que alguno sea de valor nulo, en cuyo caso no se considerará en la firma) incluyendo al final la clave secreta de encriptación:
Digest = SHA-1(Ds_Merchant_Amount + Ds_Merchant_Order + Ds_Merchant_MerchantCode+
Ds_Merchant_Currency + Ds_Merchant_Pan + Ds_Merchant_MerchantURL(1) + Ds_Merchant_CVV2 (2) +
Ds_Merchant_TransactionType + SECRET CODE)
(1) Solo para “entradaXMLgateway”
(2) Solo si se facilita el código CVV2
Es imprescindible destacar que está totalmente prohibido almacenar los datos del CVV2. Por este motivo no se debe grabar el CVV2 en el momento de calcular la firma de la transacción.
Ejemplo:
IMPORTE (Ds_Merchant_Amount) = 1235 (va multiplicado por 100 para ser igual que el
Ds_Merchant_Amount).
NÚMERO DE PEDIDO (Ds_Merchant_Order) = 29292929
CÓDIGO COMERCIO (Ds_Merchant_MerchantCode) = 999008881
MONEDA (Ds_Merchant_Currency) = 978
NÚMERO DE TARJETA (Ds_Merchant_Pan) = 4548812049400004
URL del COMERCIO (Ds_Merchant_MerchantURL) = http://www.redsys.es
CLAVE SECRETA = h2u282kMks01923kmqpo
Cadena resultado: 1235292929292019201919784548810000000003
Resultado SHA-1: 8cbd9137533846152fc3b8921d909742e6b87f8e
Este mismo algoritmo se utilizará para asegurar al comercio la autenticidad de los datos de la respuesta, en caso de que se proporcione URL de notificación por parte del comercio.
Forma de cálculo en el documento “RETORNOXML”:
Ds_Signature= SHA-1 (Ds_Amount + Ds_Order + Ds_MerchantCode + Ds_Currency + Ds_Response +
Ds_Merchant_Pan + Ds_TransactionType + Ds_SecurePayment + SECRET CODE)
El