2014-03-28 84 views
1

我正在編寫一個應用程序,我在URL中發送參數,但我希望這些參數被加密,因此用戶不會理解過程如何工作。將字符串編碼爲基礎64功能

我選擇基地64

所以,我寫讀取基地64關的URL,並將其轉換爲字符串的函數。那就是:

Public Sub FromBase64ToString(ByVal s As String) 
     Dim base64Encoded As String = s 
     Dim base64Decoded As String 
     Dim data() As Byte 
     data = System.Convert.FromBase64String(base64Encoded) 
     base64Decoded = System.Text.ASCIIEncoding.ASCII.GetString(data) 
End Sub 

但我需要的是一種將字符串從我形成併發送URL給用戶的側底板64功能。

我在哪裏可以找到這樣做的功能?

除了base64還有人建議嗎?

參數Im編碼僅爲數字。

+0

這不是加密,任何人都會立即識別base64字符串並知道如何解碼它。 –

+0

我同意漢斯。另外,你確定要使用ASCII嗎?有很多角色會失敗(超過127),並且在許多國際場合肯定會失敗?爲什麼不使用Encoding.Unicode,如果不是至少UTF8 –

+0

@StevenDoggart參數Im編碼僅爲數字 – HelpASisterOut

回答

3

上的是另一端的邏輯是這樣的:

Dim base64Encoded As String = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(plainText)) 

正如在評論中提到以上,不過,ASCII將只對一小部分(主要是英語)字符的工作,所以如果你需要它來處理任何字符串,最好使用Encoding.Unicode。另外,base-64只是一種不同的編碼方案。這不是一種加密方法。大多數技術上傾向的人會認識到它是base-64並能夠輕鬆解碼。如果這不是問題,那很好,但是如果你真的想要使它安全,你需要使用一種實際的加密算法,比如AES。

+0

非常有幫助謝謝。這是一個簡單的數字參數,我希望不太明顯。感謝您的答案和信息。 – HelpASisterOut

+0

@HelpASisterOut是的。我同意。對於簡單的數字字符串,ASCII總是足夠的。我只是認爲值得再次重申爲未來可能會遇到這個問題的任何人的利益。 –