Vous cherchez des fonctions de cryptage intégrées, pas pour cacher la chaîne du programmeur intelligent, mais plutôt pour l'obfusciter un peu. Vous cherchez des fonctions telles que str_rot13
et base64_encode
, mais je n'arrive pas à en trouver. Sûrement il y en a plus?Quelles sont les fonctions PHP de "cryptage"?
Répondre
Pour un chiffrement réel, mcrypt est la solution. Pour l'obfuscation, une troisième fonction est uuencode; voici un code pour le décodage; l'encodage implique l'inversion de l'ordre.
$text = str_rot13($text);
$text = base64_decode($text);
$text = convert_uudecode($text);
Notez que base64_encode et convert_uudecode augmentent la taille des données.
Vous voudrez peut-être regarder la famille de fonctions mcrypt. Il peut crypter et décrypter en utilisant une variété d'algorithmes.
Vous cherchez des algorithmes d'obfuscation, pas des algorithmes de chiffrement?
Base 64 et mcrypt sont les plus faciles à encoder rapidement. Si vous cherchez l'obscurcissement, utilisez-les.
Base 64 et Rot 13 ne sont pas cryptés car ils peuvent facilement être codés et décodés.
Les fonctions d'cryptage sont plus proches de md5, sha1 et crypt. MD5 est considéré comme "cassé" donc, vous devez utiliser sha1 pour le cryptage, ou au moins salir votre MD5 lors du hachage.
Notez que les fonctions has mentionnées ici (md5, sha1) sont à sens unique; Une fois codés, ils ne peuvent pas être décodés. – eykanal
Oh sheesh y'all, ** encryption! = Hashing! = Encoding ** ... les fonctions que vous avez listées (MD5, SHA1 et crypt) sont des fonctions de hachage/digestion, pas des fonctions de cryptage. Le cryptage implique que l'entrée d'origine peut être décryptée de façon déterministe à partir du message crypté en utilisant une clé. L'encodage est simplement une transformation d'un format de message à un autre. –
Si vous avez seulement besoin d'obscurcir un peu peu, essayez la fonction strtr()
. Il existe pour échanger des caractères dans une chaîne - parfait pour rendre un texte traduisible ... mais pas lisible.
Exemple rapide:
<?php
$mytext="obfuscate me";
$obfuscated = strtr($mytext,"aeiourstlne","rstlneaeiou");
echo $obfuscated; /* Output is lbfnacreu mu */
?>
Quelques lectures complémentaires here.
- 1. Fonctions de cryptage C#
- 2. Quelles sont les fonctions et extensions de modèle MVVM?
- 3. Quelles sont les fonctions de Javascript pour modifier html?
- 4. Quelles sont les règles/fonctions PHP précises pour encoder les chaînes dans les tableaux POST?
- 5. Quelles sont les fonctions variadiques selon C et C++?
- 6. Quelles sont les fonctions utiles pour dessiner du texte (MFC)?
- 7. Quelles sont les fonctions d'impression dans Adobe AIR?
- 8. Quelles sont les fonctions prises en charge par EF 4.0?
- 9. Qu'est-ce que alphablend et quelles sont les fonctions utilisées?
- 10. Recherche de fonctions de cryptage/décryptage
- 11. quelles sont les options de moteur de template pour PHP?
- 12. Quelles sont les fonctions de programmation réseau/les extraits de code les plus utilisés?
- 13. Quelles sont les permissions pour les scripts/répertoires PHP?
- 14. Quelles sont les routines de décodage automatique qu'utilise Apache + PHP?
- 15. Que sont les fichiers de fonctions PHP et leurs utilisateurs?
- 16. cryptage de session php
- 17. Quelles sont les idées générales de décryptage d'un chiffre?
- 18. bibliothèques/cadres d'authentification utilisateur php ... quelles sont les options?
- 19. Délimiteurs PHP regex,/vs. vs {}, quelles sont les différences?
- 20. Quelles sont les extensions PHP disponibles pour TCP Socket Networking?
- 21. Quelles sont les différences fondamentales entre ASP.net et PHP?
- 22. Quelles sont les vulnérabilités impliquant l'attaquant envoyant "php: // input"?
- 23. Quelles sont les applications pratiques de l'algorithme ROT13?
- 24. Quelles fonctions JavaScript sont supportées par différents navigateurs?
- 25. Quelles sont les modifications empilables?
- 26. Quelles sont les alternatives OpenID
- 27. Quelles sont les fonctions dont j'ai besoin pour surveiller l'accès des tiers à mon serveur?
- 28. Quelles sont les différences entre les délégués et les événements?
- 29. Quelles sont les meilleures pratiques pour inclure des paramètres tels qu'un accumulateur dans les fonctions?
- 30. Quelles sont les différences fondamentales entre les fonctions et l'architecture entre le BEAM et la JVM?
Combien en avez-vous besoin? J'utilise typiquement base64 pour obscurcir quelque chose que quelqu'un regardant par-dessus mon épaule ne peut pas le lire, comme 'password = base64_decode ('bXkgcGFzc3dvcmQ =');' –
@Johannes, c'est pourquoi j'ai mis le 'encryption' dans les guillemets;) – Rob
@Johannes: Rot-13 est un encodage. Le cryptage nécessite une clé. –