2016-04-12 4 views

Antwort

0

Nach vielen Schwierigkeiten haben wir es geschafft, Daten in Salesforce Apex zu verschlüsseln und zu verschlüsseln.

Hier Verschlüsselung:

/*

Diese plain_text ist Ihre Daten von Ihrem Apex Form gesammelt. Wenige Werte sind erforderlich und viele Werte sind optional. Bitte lesen Sie das von ccavenue bereitgestellte Dokument.

*/

String plain_text = ‚tid = XXXX & merchant_id = XXXX & order_id = XXXX & Betrag = XX & Währung = INR & redirect_url = XXXX & cancel_url = XXXX & language = EN & billing_name = XXXX & abrechnungsadresse = XXXX & abrechnungs_stadt = XXXX & abrechnungsstatus = XX & abrechnung_zip = XXXX & abrechnung_land = XXXX & abrechnung_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 ist der Schlüssel, der von CCAvenue zur Verfügung gestellt wird, wenn Sie sich als Händler registrieren.

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

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

Blobdaten = Blob.valueOf (PLAIN_TEXT);

Blob encryptedData = Crypto.encryptWithManagedIV ('AES128', Hash, Daten);

Zeichenfolge encRequest = EncodingUtil.convertToHex (encryptedData);

/* Durchlauf dieses encRequest mit access_code zum https://secure.ccavenue.com/transaction/transaction.do?command=initiateTransaction Verwendung Visual FORM */

Hier Entschlüsselung:

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

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

Blobdaten = EncodingUtil.convertFromHex ('ENC_RESPONSE'); // Empfangen von ccAvenue Antwort

Blob decryptedText = Crypto.decryptWithManagedIV ('AES128', Hash, Daten);

Zeichenfolge PLAIN_TEXT = decryptedText.toString();

Verwandte Themen