Mon application PHP utilise des URL comme celles-ci:chiffrement facile et avec PHP Decryption
http://domain.com/userid/120
http://domain.com/userid/121
Les touches et la fin de l'URL sont essentiellement la clé primaire de la table de base de données MySQL.
Je ne veux pas que ce nombre croissant soit public et je ne veux pas non plus que quelqu'un soit capable d'explorer les profils utilisateur juste en interagissant avec l'ID. Donc, je veux crypter cet Id pour l'affichage d'une manière que je puisse facilement décrypter à nouveau. La chaîne ne devrait pas durer plus longtemps.
Quelle est la meilleure méthode de chiffrement pour cela?
Je suggère d'utiliser le nom d'utilisateur dans l'URL, comme http://domain.com/user/jsmith. C'est plus le web 2.0, vous gardez votre clef primaire secrète et vous ne surchargez pas le serveur en chiffrant/décryptant la clef primaire – aletzo
J'essaie vraiment de résister à l'envie de dire * vous le faites mal *. D'abord, qui se soucie si les profils d'utilisateur peuvent être explorés? Google les trouvera de toute façon, donc il n'y a pas de véritable moyen de les empêcher de les mettre derrière une connexion (et même alors, quelqu'un qui veut l'information l'obtiendra). Deuxièmement, pourquoi utiliser l'ID dans l'URL? Pourquoi ne pas utiliser le nom d'utilisateur unique (le nom d'utilisateur est unique, n'est-ce pas?)? Il donne plus de sens sémantique que le nombre, et ne devrait pas être moins efficace (en supposant que vous avez un ensemble UNIQUE sur la colonne du nom d'utilisateur) ... – ircmaxell