JWT演算法對比測試

2022-10-10 10:36:10 字數 1747 閱讀 9567

專案在解決臨時許可權的問題,欲引入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沒有提供測試結果報告,這一點是硬傷啊 不過還是有解決辦法的,把...