第一步、編寫tokenproccessor演算法類
/**
* 初始化引數
*/public
static
final string key_algorithm =
"des"
;/**
* 加密key,長度為8位
*/public
static
final string key =
"***"
;public
static
final string prefix =
"***"
;/**
* 加密演算法
* @param token
* @return
* @throws exception
*/public
static string encrypt
(string token, string key)
throws exception
/** * 加密初始化值
* @param userid
* @return
* @throws exception
*/public
static string maketoken
(long userid,
long timestamp)
throws exception
/** * 解密演算法
* @param token
* @param key
* @return
* @throws exception
*/public
static string decrypt
(string token, string key)
throws exception
return spliter[1]
;}/** * 解密初始化值
* @param token
* @return
* @throws exception
*/public
static string analysis
(string token)
throws exception
/** * 將二進位制轉換成16進製制
* @param buf
* @return
*/public
static string byte2hex
(byte buf)
sb.(hex.
touppercase()
);}return sb.
tostring()
;}/** * 將16進製制轉換為二進位制
* @param hexstr
* @return
*/public
static
byte
hex2byte
(string hexstr)
return result;
}/**
* 測試用例
* @param args
* @throws exception
*/public
static
void
main
(string[
] args)
throws exception
第二步、在專案中引用演算法類tokenproccessor進行加密
date now =
newdate()
; token = tokenproccessor.
maketoken
getid()
,now.
gettime()
);
第三步、在專案中進行解密
string token = request.
getheader
(token);if
(stringutils.
isempty
(token)
) string userid = tokenproccessor.
analysis
(token)
;
從前端請求頭中讀取token然後呼叫tokenproccessor演算法類進行解密 時間戳與唯一標識
比較懶,好久沒寫部落格了,昨天遇到個問題隨手記錄一下 以前沒遇到這個問題,一直以為時間戳是可以作為類似於主鍵一樣的唯一標識。直到昨天遇到個老專案,出了個奇怪的bug。專案是別人做的老專案,我們在修改,昨天測試告知說某輸入框,有時候能輸入東西,有時候內容會被清空。看了頁面,清空的很明顯是表單驗證控制項...
iOS唯一識別符號
在2013年3月21日蘋果已經通知開發者,從2013年5月1日起,替代的方案是開發者應該使用 在ios 6中介紹的vendor或advertising標示符 cfuuid方法用來建立cfuuidref,並且可以獲得乙個相應的nsstring,如下 cfuuidref cfuuid cfuuidcre...
獲取唯一識別符號
ios 2.0版本以後uidevice提供乙個獲取裝置唯一識別符號的方法uniqueidentifier,通過該方法我們可以獲取裝置的序列號,這個也是目前為止唯一可以確認唯一的識別符號。但是,因為該唯一識別符號與手機一一對應,蘋果覺得可能會洩露使用者隱私,所以在ios 5.o之後該方法就被廢棄掉了。...