2010-09-15 1 views
1

Comment créer une fonction d'encodage basée sur cette fonction de décodage? J'ai obtenu le code source de la fonction de décodage sur Internet mais j'ai besoin de la fonction d'encodage.Comment créer une fonction d'encodage basée sur cette fonction de décodage?

Toutes mes tentatives pour le faire échouer et le codeur original n'est pas disponible pour le moment.

Le code (original):

byte Decode(byte EncodedByte) 
{ 
    EncodedByte ^= (byte)194; 
    EncodedByte = (byte)((EncodedByte << 4) | (EncodedByte >> 4)); 
    return EncodedByte; 
} 

Répondre

1

byte Encode(byte EncodedByte) 
{ 
    EncodedByte = (byte)((EncodedByte << 4) | (EncodedByte >> 4)); 
    EncodedByte ^= (byte)194; 
    return EncodedByte; 
} 
+0

Je ne savais pas que c'était si simple. Merci beaucoup! – lesderid

+4

Mauvais choix du nom de l'argument. – Rudu

0

Pourquoi utilisez-vous pas de fonctions de chiffrement/déchiffrement normales de C#?

Encrypt and decrypt a string

+0

Pourquoi le ferais-je? Ce code est converti à partir de C++ et fonctionne ainsi parfaitement. En outre, je n'ai aucune idée de la façon dont je convertirais ceci en 'fonctions normales de cryptage/décryptage'. – lesderid

+1

Ce n'est pas très utile - il traite probablement des données créées à travers un autre processus qui doit utiliser cette approche. – Rudu

+0

En effet, voir les commentaires de la réponse de Scott. – lesderid

4

Juste un peu en arrière rapide de la serviette de codage de la réponse devrait être

byte Encode(byte DecodedByte) 
{ 
    DecodedByte = (byte)((DecodedByte << 4) | (DecodedByte >> 4)); 
    DecodedByte ^= (byte)194; 
    return DecodedByte; 
} 

Aussi je suis d'accord avec Alex c'est une méthode de cryptage trivial. Quiconque connaît l'algorithme peut décrypter votre message de manière triviale. Je ne m'y fierais pas pour des informations sensibles et s'il s'agit d'un code à usage public, certains pays ont des lois selon lesquelles les données doivent avoir une forme de cryptage. Si j'étais un juge pour la personne qui vous poursuit pour une violation de données, j'appellerais cela plus une technique d'obfuscation qu'une technique de cryptage.

+0

Merci, Henrik était le premier. +1 – lesderid

+1

Venu avec le même moi - a couru un test unitaire sur tous les octets possibles et il fonctionne avec succès (comme si vous aviez un doute;)) – Rudu

+1

Henrik et moi posté environ 15 secondes d'intervalle. Si je n'avais pas changé mes EncodedBytes en Octets décodés, j'aurais été le premier; p –

Questions connexes