Javascript Simple de crypter, PHP déchiffrer avec la clé secrète partagée
Ce n'est pas sur la sécurité. Il est également à ne pas le rendre difficile à briser. Je suis à la recherche d'un algorithme simple de modifier une chaîne de caractères (une url) dans un sens, il ne ressemble pas à l'original. Le de chiffrement sera fait avec javascript. Alors je veux nourrir les chiffré chaîne à une fonction PHP pour le changer en arrière à l'original. Les deux extrémités pourraient partager une clé secrète, ou les conversions pourrait être la clé-de moins en moins et s'appuient sur la logique.
La solution idéale
- sera simple
- permettra d'utiliser les fonctions javascript pour le chiffrement
- permettra d'utiliser les fonctions php pour le décryptage
- va produire de la chaîne cryptée en sorte de ne pas ressembler à la forme de texte brut à tous les
- va utiliser uniquement les minuscules de l'alphabet les lettres et les chiffres dans la chaîne cryptée
- n'est pas une méthode largement utilisée comme Base64-ing, comme le chiffrement.
Edit: La dernière condition a été ajoutée après shamittomar's réponse.
En faisant cela, en javascript, un client peut facilement afficher la source et de décrypter votre chaîne cryptée.
Qui ne poserait pas de problème; comme je l'ai dit dans la question, ce n'est pas pour la sécurité ou le secret de l'amour.
c'est pourquoi je l'ai posté un commentaire simplement, assurez-vous que vous étiez au courant c'est tout. Comme d'autres l'ont dit tout algorithme de hachage votre javascript et php sont disponibles serait très bien fonctionner. md5, base64, sha.
Note md5 et sha sont une façon algorithmes de hachage, ne s'applique pas dans ce cas parce que l'OP veut décrypter la chaîne cryptée.
dans mon pays, beaucoup de sites sont bloqués. De retour dans la journée, cette question a été posée vpn étaient difficiles à trouver et beaucoup ont dû compter sur un proxy web (sur http). Le filtrage a été assez intelligent pour inverser le codage base64 de l'url cible et pourrait bloquer la demande, tout de même. J'ai eu accès au code source de l'un de ces proxy (PHP) et je voulais changer la méthode de l'encodage base64 pour quelque chose de différent pour obtenir autour de cette. Connexes: ceci et ceci.
Qui ne poserait pas de problème; comme je l'ai dit dans la question, ce n'est pas pour la sécurité ou le secret de l'amour.
c'est pourquoi je l'ai posté un commentaire simplement, assurez-vous que vous étiez au courant c'est tout. Comme d'autres l'ont dit tout algorithme de hachage votre javascript et php sont disponibles serait très bien fonctionner. md5, base64, sha.
Note md5 et sha sont une façon algorithmes de hachage, ne s'applique pas dans ce cas parce que l'OP veut décrypter la chaîne cryptée.
dans mon pays, beaucoup de sites sont bloqués. De retour dans la journée, cette question a été posée vpn étaient difficiles à trouver et beaucoup ont dû compter sur un proxy web (sur http). Le filtrage a été assez intelligent pour inverser le codage base64 de l'url cible et pourrait bloquer la demande, tout de même. J'ai eu accès au code source de l'un de ces proxy (PHP) et je voulais changer la méthode de l'encodage base64 pour quelque chose de différent pour obtenir autour de cette. Connexes: ceci et ceci.
OriginalL'auteur Majid Fouladpour | 2010-08-31
Vous devez vous connecter pour publier un commentaire.
Si c'est ce que vous voulez, vous pouvez Base64 d'encoder et de décoder.
[EDIT]: Après l'OP précisions:
Comme vous ne voulez pas des méthodes couramment utilisées, voici un rarement méthode utilisée et qui peut le faire pour vous en vous donnant en sortie uniquement en lettres MINUSCULES et des CHIFFRES. Il est Base32 De Codage/Décodage. Utiliser les bibliothèques suivantes:
réponse de mise à jour.
Merci! Je vais probablement de la chaîne de plus d'une méthode pour l'obtenir unique.
Merci, je vais upvote
OriginalL'auteur shamittomar
Vous pouvez utiliser XOR au niveau du bit en javascript pour encoder la chaîne et de nouveau en PHP pour le décoder à nouveau. J'ai écrit un petit exemple en Javascript pour vous. Il fonctionne de la même en PHP. Si vous appelez à l'enc() une deuxième fois avec l'chaîne codée, vous aurez la chaîne d'origine à nouveau.
En PHP de faire quelque chose comme ceci (attention, ceci n'est pas testé et il a été un long temps depuis que je l'ai fait en PHP):
comment le php côté travail ? cette nouvelle.. mais confondre avec elle en disant: "Il fonctionne de la même en PHP". Quand je le regarde XOR il a une clé en trop
Pouvez-vous préciser comment le php serait un travail?
En PHP, vous faites exactement la même que dans le Javascript. Tout d'abord, définir une variable $décodé = "". Ensuite, vous itérer sur les caractères de la chaîne codée et vous faire un XOR au niveau du bit avec l' numéro que vous avez utilisé lors de Javascript côté pour l'encodage. Ainsi, vous obtenez le caractère original de nouveau. Vous ajoutez le décodé caractère $décodé et à la fin de la chaîne originale. Tout est basé sur le fait que si vous appliquez un XOR au niveau du bit deux fois, vous obtenez la valeur d'origine à nouveau.
J'ai ajouté un bout de code PHP à ma réponse.
OriginalL'auteur Ridcully
Si ce n'est pas au sujet de la sécurité, et non de le rendre difficile à briser, alors
ROT-13
?PHP dispose d'une fonction native,
str_rot13
: http://php.net/manual/en/function.str-rot13.phpURL
comme entrée. EtRot-13
laisse le les caractères non alphabétiques, intacte. Cela peut sortie/
et:
personnages, mais l'OP veut de sortie que dans minuscules et des chiffres. Aussi, en tant que non-alpha caractères sont intacts, il est très très simple à prédire que la chaîne codée est une URL.il n'y a pas de commentaire sur une URL comme entrée lors de cette réponse a été faite. J'ai répondu essentiellement de la langue-dans-joue sur la base des exigences.
la révision de cette question montrent que le post initial contenus suivants:
...to change a string (a url) in a way...
. Vous avez peut être manqué 🙂 . Pas de problème.OriginalL'auteur Fosco
Comment envisagez-vous de mettre en œuvre (masquer) le secret en Javascript? À mon humble avis il n'est pas possible.
Edit: OK - pas sur la sécurité.. alors simplement utiliser tout baseXX ou de pourriture mécanisme de codage. Mais vous ne pouvez pas vraiment dire que l'un de ces algorythms ne serait pas bien connu...
qui est l'utilisation du chiffrement si la clé n'est pas secret?
Je crois qu'il veut de hachage pas chiffrer.
Eh bien.. un hachage n'a ni à faire avec le secret et pas avec cryptage. L'OP affirme clairement qu'il n'souhaitez chiffrer quelque chose et il ajoute: "je veux donner à manger à la chaîne cryptée pour une fonction PHP pour le changer en arrière à l'original".
C'est de passer à travers plus sophistiqués de filtrage qui décode le proxified url pour voir ce site est accessible via un proxy.
OriginalL'auteur Jan.
Eh bien j'ai trouvé cette page, et trouvé Redcully du programme ne fonctionne pas pour moi donc j'ai pensé qu'Il se passe avec tous les autres. finalement j'ai eu raison et il fixe. Ici le nouveau code est...
Grâce à Redcully 🙂
JS fonction:
Fonction PHP:
OriginalL'auteur Manav Akela