De base encrypt() et decrypt() la fonction
J'ai une fonction dans mon views.py où à une ligne-je faire une demande d'OBTENIR un numéro d'identification.
Une fois, j'ai l'id, je veux chiffrer cet id et ensuite, plus tard, de déchiffrer ce aussi.
J'ai donc besoin de deux fonctions
def encrypt(id):#let say the id is 100
#do something
return encrypted_id # 6-digit let say 985634
def decrypt(encrypted_id): # Here enter 985634
#do something
return decrypted_id # i should get 100
J'ai lu beaucoup de messages, mais ne pas trouver un facile et propre façon de l'appliquer sur mon views.py
Voici ce que j'ai étudié
sha1 : Vous ne pouvez pas déchiffrer que (mis en œuvre pour le chiffrement)
Mee 2 M2 .
AES il traite avec 16 chiffres qui est multiple de 8 quelque chose
J'ai essayé de générer des 6 chiffres de nombre aléatoire aussi, mais cette idée n'est pas prometteur.
Quelqu'un peut-il dire une façon de comment faire cela ? Merci d'avance
OriginalL'auteur the_game | 2012-03-21
Vous devez vous connecter pour publier un commentaire.
Utiliser AES (à partir de pycrypto), mais le pad de la plaine de texte avant de le chiffrer.
Cet exemple dpa le texte avec des caractères null (ASCII 0)
Après avoir décrypter, bande les caractères nuls:
Parce que l'algorithme AES travaille sur des blocs qui sont des multiples de 16 octets (AES.taille_bloc = 16).
Réponse Parfaite, Doug. Est-il un moyen d'éviter ou de construire une logique où je peux utiliser mon id de demande dans django vue de la fonction, puis il s'adapte à la taille de bloc . Je veux éviter que la clé principale de coder en dur pouvons-nous le rendre dynamique . Je suis un newbie dans le chiffrement. Mais merci pour votre aide . Super réponse !!!!!
Je ne suis pas sûr de suivre. J'ai mon master clés codées en dur dans le fichier où je définir ces fonctions. Si un mauvais gars peut obtenir ce fichier, il peut faire plus de mal que de simplement trouver la clé principale. Comment voyez-vous la clé principale d'être dynamique? (aussi, j'ai attrapé ma clé principale de grc.com/passwords.htm )
Bon j'ai eu ma réponse et merci Doug Harris.
OriginalL'auteur Doug Harris
J'ai eu exactement le même problème et l'a résolu en utilisant Hashids.
C'est aussi simple que
OriginalL'auteur Andy