2016-04-12 31 views

cevap

0

Çok fazla mücadele ettikten sonra, salesforce apeksinde şifrelenmiş ve dcrypt veri elde etmeyi başardık.

/*

Bu PLAIN_TEXT sizin apeks formundan toplanan veriler şunlardır: Burada

Şifreleme olduğunu. Birkaç değer gereklidir ve birçok değer isteğe bağlıdır. Lütfen ccavenue tarafından sağlanan belgeyi okuyun.

*/

Dize PLAIN_TEXT = 'tid = XXXX & merchant_id = XXXX & order_id = XXXX & miktar = XX & para = INR & REDIRECT_URL = XXXX & cancel_url = XXXX & dil = TR & billing_name = XXXX & billing_address = XXXX & billing_city = XXXX & billing_state XX = & billing_zip = XXXX & BILLING_COUNTRY = XXXX & billing_tel = XXXX & billing_email = XXXX & delivery_name = XXXX & delivery_address = XXXX & delivery_city = XXXX & delivery_state = XXXX & delivery_zip = XXXX & delivery_country = XXXX & delivery_tel = XXXX & merchant_param1 = XXXX & merchant_param2 = XXXX & merchant_param3 = XXXX & merchant_param4 = XXXX & merchant_param5 = XXXX & promo_code = & customer_identifier = & ';

// WORKING_KEY, Satıcı olarak kaydolduğunuzda CCAvenue tarafından sağlanan anahtardır.

Blob cryptoKey = Blob.valueOf ('WORKING_KEY');

Blob hash = Crypto.generateDigest ('MD5', cryptoKey);

Blob data = Blob.valueOf (PLAIN_TEXT);

Blob encryptedData = Crypto.encryptWithManagedIV ('AES128', sağlama, veri);

Dize encRequest = EncodingUtil.convertToHex (encryptedData);

/* Burada */

Şifre çözme olan Visualforce FORM kullanılarak https://secure.ccavenue.com/transaction/transaction.do?command=initiateTransaction için access_code bu encRequest Pass:

Kabarcık cryptoKey = Blob.valueOf ('WORKING_KEY');

Blob hash = Crypto.üretmekDigest ('MD5', cryptoKey);

Blob data = EncodingUtil.convertFromHex ('ENC_RESPONSE'); // ccAvenue yanıtından alındı ​​

Blob decryptedText = Crypto.decryptWithManagedIV ('AES128', sağlama, veri);

Dize PLAIN_TEXT = deşifre edilmişText.toString();