專案在解決臨時許可權的問題,欲引入jwt,故評估對比jwt實現方式之一jws(rfc文件)的相關簽名演算法(由jwa規定),指導簽名演算法選擇。
測試環境:
作業系統:mac os測試結果:記憶體:8gb
cpu core: 2
本地測試只做效能縱向對比,具體耗時取決於具體執行環境
演算法迴圈次數
總耗時(ms)
平均耗時(ms)
對稱hs256
10000
2142
0.21
hs384
10000
2492
0.24
hs512
10000
2153
0.21
hs256
100000
5964
0.059
hs384
100000
5368
0.053
hs512
100000
5210
0.052
非對稱 rsa
rs256
10000
30342
3.03
rs384
10000
88314
8.83
rs512
10000
196748
19.67
rs256
100000
285911
2.85
rs384
100000
858241
8.58
rs512
100000
1861344
18.61
非對稱 ecdsa
es256
10000
32375
3.23
es384
10000
64646
6.46
es512
10000
86273
8.62
es256
100000
285097
2.85
es384
100000
667266
6.67
es512
100000
764695
7.64
測試結論:
對稱加密效能由於非對稱加密
rs256 rs284 rs512 簽名驗籤時間依次遞增,強度依次增大,es256 es384 es512 同理
es系列演算法 加密時間要小於 rs系列演算法
測試資料有效長度:
61個字串測試結果:
演算法header+body長度
總長度簽名長度
hs256
193236
43rs256
193535
342es256
193279
86header+body長度不變,因為都是base64編碼;相同的簽名演算法,無論加密多大的資料的簽名長度都是一致的。
測試結論:
對稱加密簽名長度要小於非對稱加密簽名長度
rs系列演算法簽名長度要遠大於es系列簽名演算法
es256
測試演算法對比
測試條件 開發環境 keil4 晶元訊號 stm32f103c8t6 主頻 64mhz 1 測試math temp1 squarerootfloat 5.0f float squarerootfloat float number long i float x,y const float f 1.5f...
LOG演算法對比測試
對比了幾種log演算法,函式double in double x 效果最好。會根據數值大小動態調整運算方法。實測和windodws計算器的結果相當。而且運算效率也不錯。最後有簡單對比測試結果。include includeint csum 0 double coef int n define par...
android測試框架對比
最近花了一些時間來調研android的測試框架,除了需要適合做ui測試,還需要保證選取的框架有以下幾點特性 robotium athrun tmts monkeyrunner uiautomator 實際使用後,發現uiautomator沒有提供測試結果報告,這一點是硬傷啊 不過還是有解決辦法的,把...