2010-09-15 108 views
1

如何根據此解碼功能製作編碼功能? 我得到了互聯網上的解碼功能的源代碼,但我需要編碼功能。如何根據此解碼功能製作編碼功能?

我的所有嘗試都失敗了,原來的編碼器目前不可用。

(原始)代碼:

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

回答

1

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

我不知道這很容易。非常感謝你! – lesderid 2010-09-15 13:47:19

+4

可憐的參數選擇名稱。 – Rudu 2010-09-15 13:49:53

0

你爲什麼不使用C#正常的加密/解密功能?

Encrypt and decrypt a string

+0

我爲什麼?這段代碼從C++轉換而來,這種方式非常完美。另外,我不知道如何將其轉換爲「正常的加密/解密功能」。 – lesderid 2010-09-15 13:44:58

+1

這不是很有幫助 - 他可能會處理通過其他一些必須使用此方法的過程創建的數據。 – Rudu 2010-09-15 13:49:25

+0

的確,請參閱Scott的回答評論。 – lesderid 2010-09-15 13:51:58

4

就在餐巾紙編碼的答案的一些快速回應該

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

此外,我與亞歷克斯同意這是一個簡單的加密方法。任何知道該算法的人都可以簡單地解密您的消息。我不會依賴它來獲取任何敏感信息,如果這是公開使用的代碼,則某些國家/地區的法律規定數據必須具有某種形式的加密。如果我是針對數據泄露而起訴你的人的法官,我會稱之爲混淆技術,然後是加密技術。

+0

謝謝,Henrik是第一個。 +1。 – lesderid 2010-09-15 13:48:03

+1

想到了同樣的問題 - 對所有可能的字節進行了單元測試,併成功運行(如果您有疑問的話)) – Rudu 2010-09-15 13:50:21

+1

Henrik和我發佈了大約15秒的時間。如果我沒有將EncodedBytes更改爲解碼字節,我本來是第一個; p – 2010-09-15 13:51:02