2013-07-30 33 views
0

我需要加密解密一個字符串。使用具有自定義字符的base 64以及一個自定義字符chr(255)( - )。我想使用內置的,淨的FromBase64String,但它與無效字符的錯誤。如果我使用下面的代碼(請參閱鏈接)並將字符/更改爲 - 它有效。任何想法使這個工作使用.net內置函數。自定義基地64不使用.net FromBase64String

http://www.freevbcode.com/ShowCode.asp?ID=5248

感謝所有

+0

從技術上講,如果你使用的「基地64自定義字符」,你不使用base64。儘管如此,爲什麼不先做一個字符串替換? –

+2

另外,base-64轉換**不是加密**;如果你認爲它是:***現在停止;壞事;壞事*** –

+0

@MarcGravell我知道它不加密,但混淆。它已經在使用,但我想整理舊的基於ASP的代碼。謝謝 – Jonnymaboy

回答

1

這通常與做了string.Replace,像這樣的函數來完成:

public string CustomToBase64String(byte[] data) 
{ 
    var s = Convert.ToBase64String(data); 
    return s.Replace('/', (char)255); 
} 

public byte[] CustomFromBase64String(string s) 
{ 
    var changed = s.Replace((char)255, '/'); 
    return Convert.FromBase64String(s); 
} 
+0

感謝您的答覆。對不起,我沒有早點回復。我已經嘗試過這種方法,但char 255不在已經加密的字符串中。儘管感謝您的幫助。我已經在帖子中附加的鏈接中使用了它。 – Jonnymaboy