PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Crypter en blowfish
Crypter en blowfish
Débuté par Sébastien Gaudin, 23 aoû. 2022 16:57 - 3 réponses
Posté le 23 août 2022 - 16:57
Bonjour à tous

Je dois passer d'une solution de paiement MERCANET à AXEPTA sur mon site

l'API me demande de crypter une chaine avec un algorythme Blowfish ECB

J'ai beau utiliser la fonction "crypte " mais je n'obtiens jamais la bonne réponse

Mon code :

gsCleBlowfish est une chaîne = "By3=k8]WZ)b2zQ4!"
gsKey is string = "6i]HgR9=W?q5(w3PK2[r)t8B7*YkZy!4" // Clé à utiliser.
gsURL is string = "*1*BNP_AJLA_ECOM_t*20*EUR" // URL à has
Mac est une chaîne = ( BufferVersHexa( HashChaîne( HA_HMAC_SHA_256, gsURL, gsKey ), SansRegroupement, SansLigne ) )

sData_Paiement est une chaîne = "MerchantID=BNP_AJLA_ECOM_t&MsgVer=2.0&TransID=1&RefNr=0000000AB123&Amount=20&Currency=EUR&URLNotify=https://www.ajla-asso.com/&URLSuccess=https://www.ajla-asso.com/&URLFailure=https://www.ajla-asso.com&MAC=" + Mac

test2 est une chaîne = Crypte(sData_Paiement, gsCleBlowfish, crypteRapide)

Je devrais obtenir : e4b61b44586704ca492fcc1b7898eaaac4865259630ee2a30bf24b00cd4ce23588cc3c9c63274a73b27a23a2a9e48328521f66627cf6398457ac519075ea57c93f424f9b64ab7fa2afeb15996e016e2e4dcd860cab09d3a62373312075d385a65c344a4c115f06558797b465acfa13dc5d83fa483d2c047141afcf36615210778fed278373d744244cd94d4c7b5d9597f7a7cdea41e61e40fcfd08bae558dab13ee8894f365aec0beb3f8c52d8edb60890fb89438362374579d5755ba3ac9f7057e5ac725a21ba36619afccf4f481dff98c62acf2a4395a11e7a474e5b0c7810d02de104ed6d6d294f887c6df3ad7a25d968c9d4fb79d0205bb78ad0b711e029ac00ee85766be4250af35fcd0fac442e

alors que j'obtiens complétement autre chose

Pouvez vous m'aider ?? Merci d'avance

Sébastien
Posté le 12 octobre 2022 - 10:38
Bonjour avez vous trouver une solution.
Je suis sur la même problématique
Cordialement
Membre enregistré
945 messages
Popularité : +53 (63 votes)
Posté le 12 octobre 2022 - 14:00
Bonjour,

J'ai mis sur le dépôt une bibliothèque .net a intégrer pour crypter / décrypter en blowfish

lien du dépôt : https://depot.pcsoft.fr/resource.awp…

exemple pour Sebastien
clPclCrypteurBlowfish est un BlowFish(BufferVersHexa("By3=k8]WZ)b2zQ4!",SansRegroupement,SansLigne))
gsKey is string = "6i]HgR9=W?q5(w3PK2[r)t8B7*YkZy!4" // Clé à utiliser.
gsURL is string = "*1*BNP_AJLA_ECOM_t*20*EUR" // URL à has
Mac est une chaîne = ( BufferVersHexa( HashChaîne( HA_HMAC_SHA_256, gsURL, gsKey ), SansRegroupement, SansLigne ) )

sData_Paiement est une chaîne = "MerchantID=BNP_AJLA_ECOM_t&MsgVer=2.0&TransID=1&RefNr=0000000AB123&Amount=20&Currency=EUR&URLNotify=https://www.ajla-asso.com/&URLSuccess=https://www.ajla-asso.com/&URLFailure=https://www.ajla-asso.com&MAC=" + Mac
Trace(clPclCrypteurBlowfish.Encrypt_ECB(sData_Paiement))
// donne
//e4b61b44586704ca492fcc1b7898eaaac4865259630ee2a30bf24b00cd4ce23588cc3c9c63274a73b27a23a2a9e48328521f66627cf6398457ac519075ea57c93f424f9b64ab7fa2afeb15996e016e2e4dcd860cab09d3a62373312075d385a65c344a4c115f06558797b465acfa13dc5d83fa483d2c047141afcf36615210778fed278373d744244cd94d4c7b5d9597f7a7cdea41e61e40fcfd08bae558dab13ee8894f365aec0beb3f8c52d8edb60890fb89438362374579d5755ba3ac9f7057e5ac725a21ba36619afccf4f481dff98c62acf2a4395a11e7a474e5b0c7810d02de104ed6d6d294f887c6df3ad7a25d968c9d4fb79d0205bb78ad0b711e029ac00ee85766be4250af35fcd0fac442e


Jordan
Posté le 17 novembre 2023 - 18:19
Bonjour Jordan,

Merci pour cet assemblage fort utile.
Je doit crypter une chaine en cbc. Avant j'avais un programme java mais il ne fonctionne plus.
J'essaie d’utiliser votre assemblage mais je bloque sur le vecteur d’initialisation (dit « iv »), fixé à « 00000000 » (c’est-à-dire « 30 30 30 30 30 30 30 30 » en hexadécimal).
clCrypteurBlowfish est un BlowFish(BufferVersHexa("motdpasse",SansRegroupement,SansLigne))

clCrypteurBlowfish.IV=BufferVersHexa("00000000",SansRegroupement,SansLigne)//"00000000"

sData est une chaîne = "machaine a crypter"

Trace(clCrypteurBlowfish.Encrypt_CBC(sData))


Avec la définition du vecteur ça plante.
Sans le cryptage n'est pas bon.

Pouvez-vous m'aider à utiliser votre assemblage avec un vecteur ?