2012-08-09 67 views
0

我有24個字符長度的字符串。這是我們給客戶安裝軟件的產品ID。我有要求從此字符串獲取電子郵件地址。我需要使用此字符串對電子郵件地址進行編碼並解碼。有沒有可能做到這一點?使用字符串對電子郵件地址進行編碼和解碼

我試圖將電子郵件地址轉換爲字節數組,並添加與產品id字節數組。但是,似乎產品ID長度增加了,解鎖密鑰長度不是標準格式。請幫我解決這個問題。

+2

您已完成的任何代碼? – 2012-08-09 13:54:51

回答

1

由於電子郵件地址可能超過24個字符,因此這是不可能的。 (簡而言之,您不能在X字節中編碼X字節的信息而不丟失)。

我建議採用不同的方法。

在你的辦公室:

  • 在授權數據庫,存儲客戶的電子郵件地址。
  • 根據電子郵件地址和一些祕密值計算哈希碼。這是您的激活碼(您稱之爲「產品ID」)。

客戶的PC:

  • 在安裝過程中,有客戶輸入自己的電子郵件地址和自己的激活密鑰。
  • 安裝程序是否已在輸入的電子郵件地址(加上密碼)上計算散列並將其與激活密鑰進行比較。如果匹配,一切都很好。如果沒有,則顯示錯誤。

這可以讓你保持你的激活碼短,因爲你只需要嵌入一個哈希電子郵件ADRESS的。當然,由於散列函數不可逆,所以不能從散列中重新創建電子郵件地址;因此在安裝過程中需要輸入電子郵件地址。

相關問題