Aller au contenu

Crypter / decrypter un email


Sujets conseillés

Posté

Bonjour,

j'aimerai crypter une partie d'un email (un numéro de carte de credit) que je génère en PHP. Il faudrait que le systeme soit bassé sur un systeme de clefs afin que seuls ceux qui ont la bonne clef puissent décrypter ce numéro.

Comment faire ça simplement?

Merci d'avance pour vos idées / suggestions,

ZN

Posté (modifié)

Bonjour,

Pour la théorie :

http://www.php.net/manual/fr/ref.mcrypt.php

Pour la pratique :

Script extrait et simplifié de celui-ci :

http://www.phpfrance.com/tutoriaux/exemples/38.php

Détails avec ce tutorial :

http://www.phpfrance.com/tutoriaux/index.p...nt-mcrypt-ripat

Gost en mode cbc est très rapide pour crypter.

<?php
/*
*
* Cryptage v1.0
*
* Exemple :
* $IV         = '8cHv2AR1';
* $Cle        = 'XCp3ACWciuP8l9Zxp1uNiWTxt8xqCB6J';
* $TxtCrypt   = $IV . Crypte($IDCommande, $Cle, 8, 'gost', 'cbc', $IV);
* $TxtDeCrypt = Decrypte(substr($TxtCrypt,8), $Cle, 8, 'gost', 'cbc', substr($TxtCrypt,0,8));
*
*/
function Crypte($Texte, $Cle, $TailleCle, $Algo, $Mode, $IV){
$Cle         = substr($Cle, 0, $TailleCle);
$TexteCrypte = mcrypt_encrypt($Algo, $Cle, $Texte, $Mode, $IV);
return base64_encode($TexteCrypte);
}

function Decrypte($Texte, $Cle, $TailleCle, $Algo, $Mode, $IV){
$Texte       = base64_decode($Texte);
$Cle         = substr($Cle, 0, $TailleCle);
$TexteClair  = mcrypt_decrypt($Algo, $Cle, $Texte, $Mode, $IV);
return trim($TexteClair);
}
?>

Il vaut mieux générer le IV et la clé à chaque fois avec md5() par exemple.

Kwiz

Modifié par Kwiz
Posté

Merci Kwiz pour ces infos j'analyse tout ça dès demain :)

tu preferes de cryptage Gost au 3DES? (c'est plus repandu le 3DES si je me souviens bien?)

Posté (modifié)
Tu preferes de cryptage Gost au 3DES? (c'est plus repandu le 3DES si je me souviens bien?)

<{POST_SNAPBACK}>

J'ai pris le plus rapide avec une clef de 32 caractères, suis le lien vers phpfrance et cliques sur vérifier avec timing.

Après je n'y connais rien en cryptage et efficacité des algos de chiffrement.

Kwiz

Modifié par Kwiz
Posté

merci pour ces infos :)

Il vaut mieux générer le IV et la clé à chaque fois avec md5() par exemple

bonne idée mais il faut que stocke tout ça alors. Attention à ce que cela ne soit pas stocké à côté du texte crypté ...

Posté

Bonjour,

Pardon mais je pense que transmettre des données critiques comme un code CB est dangereux pour ne pas dire stupide. Les banques ne le font plus, sous quelque forme que ce soit (tickets, mail ou autre)...

Tu peux d'ores et déja considérer que si tu crypte quoique ce soit qui soit décryptable, tu prends un risque.

Posté (modifié)
bonne idée mais il faut que stocke tout ça alors. Attention à ce que cela ne soit pas stocké à côté du texte crypté ...

<{POST_SNAPBACK}>

Le IV accompagne déjà le texte crypté (cf mon code) par contre tu dois stocker la clef.

Kwiz

Modifié par Kwiz
Posté

J'oubliai, pourquoi n'utilises-tu pas un système de paiment sécurisé type PayPal ou une banque ?

Kwiz

  • 2 semaines plus tard...
Posté (modifié)

Oops pardon de ne pas avoir repondu plus tôt.

Je suis en Angleterre et le systeme bancaire n'est pas exactement pareil qu'en france (enfin je crois).

Je suis en train de mettre en place un systeme de paiement international fonctionnant sur des cartes de credit (pas des cartes de debit), qui collecte de l'argent automatiquement tous les x mois (comme un abonnement).

Si le client utilise une carte de credit amex, visa, mastercard ca fonctionne nickel je collecte l'argent regulierement etc ...

par contre si le client veut payer avec une carte de debit solo, swith, maestro etc ... mes paiements "répétitifs" (recurrent en anglais) plantent et on doit tout se coltiner manuellement (le bonheur quoi)

C'est vrai que je prefererai ne transmettre/stocker aucun numéro de CB ... mais allez en parler a mon patron (veut pas m'entendre celui-là, meme quand j'ai raison. Assez frustrant comme sensation...)

paypal on oublie je ne vends pas des timbres :P edit: c'est de l'humour, hein?

Modifié par -ZN-

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...