Je désire crypter les data que je stocke dans ma BD.
J'hésite toutefois entre nottament MD5 ou un simple XOR comme j'ai pu trouver ici: http://delphipage.free.fr/cryptage.html
Une idée? Merci
Je désire crypter les data que je stocke dans ma BD.
J'hésite toutefois entre nottament MD5 ou un simple XOR comme j'ai pu trouver ici: http://delphipage.free.fr/cryptage.html
Une idée? Merci
• Le chiffrement MD5 permet de faire une empreinte, une signature de la donnée. Il ne permet pas de pouvoir la récupérer. On s'en sert uniquement pour faire des comparaisons; Par exemple, avec le CRC d'un fichier, si l'on veut savoir si un autre fichier est le même, on le chiffre et on compare les clés.
• XOR, est un chiffrement symétrique. Il permet de récupérer les données originales lorsqu'on connaît l'agorythme d'encodage et surtout la clé, on est capable d'obtenir les données de départ. Par exemple AES, 3DES, RCA sont des chiffrement XOR.
• Reste que l'on peut protéger cette clé XOR avec un chiffrement asymétrique comme RSA. C'est cette méthode qui est utilisé par le SSL (https pour les sites sécurisés sur internet). Cette solution permet aussi d'authentifier les utilisateurs (certificats).
De retour parmis vous après 10 ans!!
Merci Sub0, voilà qui m'explique simplement et clairement le principe
Plus qu'à trouver une librairie gratuite fonctionnant sous Delphi2007...
Tu peux peut-être envisager d'utiliser une librairie de compression au format RAR ou ZIP (zlib) puisqu'il ya moyen d'ajouter un mot de passe et de crypter les données...
De retour parmis vous après 10 ans!!
Non car il faudrait je suppose décrypter toute la base pour pouvoir la lire, je ne le souhaite pas d'autant que des accès concourrants doivent être possibles.
Il faut donc que je crypte et décrypte à chaque accès en lecture/écriture dans la BD. Un peu comme si je voulais crypter uniquement les mots de passe. Sauf que je considère d'autres données comme sensibles également.
J'utilise Access.
Pas du tout. Tu peux très bien choisir les données que tu veux traîter, tu n'es pas obligé de crypter toute la base. Par exemple, lorsque tu fais un update ou un insert, tu cryptes les données avant de les enregistrer dans la base. Ensuite, lorsque tu fais un select de ces données, tu les décryptes avant de les utiliser...
A propos, quel type de données comptes-tu crypter ? VARCHAR, BLOB ?
De retour parmis vous après 10 ans!!
des VARCHAR essentiellement; si je pouvais crypter les Blob tant mieux mais crypter des photos c'est vraiment moins essentiel quede crypter les mots de passe
Je te conseille le XOR car facile à implémenter et peu gourmand en performances (sauf si tu veux un truc 'secret défense').
Une astuce si tu veux crypter des mots de passe : tu les "complètes", avant cryptage avec des caractères espaces à concurrence de la longueur de ton VARCHAR puis tu cryptes et tu stockes.
Lors de la récup. tu décryptes puis tu 'TRIM' ton résultat.
C'est rapide et ça ajoute une difficulté au hack car la longueur du mot de passe est du coup inconnue.
Soir Bon, Librairie : http://www.cityinthesky.co.uk/cryptography.html
Merci !!
Y a-t-il un algo de cryptage à privilégier particulièrement, genre un bon rapport qualité d'encryption/vitesse de cryptage/décryptage ??
Soir Bon, un benchmark parmi d'autres http://www.cryptopp.com/benchmarks.html
Merci, encore !
Moi j'utilise un algorithme pour crypter juste les mots de passe. L'avantage est que ça prend des varchar et ne renvoie que des nombres. Même si quelques se conecte à ta base de donnée il ne pourra jamais imaginé le contenu. Le mieux serait pour toi de crypter avant des les insérer dans la table et quend tu veux afficher tu les décrypte. Ainsi tu gagneras en temps et en exécution.
Idem que valer, à part les mots de passe, je ne crypte que rarement ...
Sinon, j'ai répondu à un sujet similaire ICI, si l'on crypter plusieurs champs, cela devient la misère, en sauvegarde tous les champs dans un blob, décrypter\encrypter à la volée, puis lier à un TClientDataSet, on peut conserver la puissance des composants DB Ware, tout en cryptant ses colonnes, ... j'utilise cette solution, si le nombre de colonne change dans la table et que l'écran est généré automatiquement
Pour les grilles, un petit OnDrawDataCell, et le tour est joué assez facilement ... mais grille évidemment en lecture seule ... mettre de l'edition, c'est plus complexe, il faut gérer tout un tas d'évènement AfterPost, OnCalcField ...
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager