使用JWT的RSA256加密做为用户认证, 测试性能
http://www.giantflyingsaucer.com/blog/?p=5994 使用JWT的token认证,防止别人知道了接口后,随意调用,但是发现
stepping : 4
microcode : 0x428
cpu MHz : 2600.062
cache size : 20480 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl pni ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm
bogomips : 5200.12
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
使用 go test -test.bench=".*" -v 命令测试,发现加密的挺耗时间的
goos: linux
goarch: amd64
pkg: github.com/KerryJava/goserver
Benchmark_TimeConsumingOrm 5000 265224 ns/op
Benchmark_TimeConsumingOrm 5000 248941 ns/op
Benchmark_TimeConsumingOrm 10000 245728 ns/op
Benchmark_TimeConsumingOrm 5000 268391 ns/op
Benchmark_TimeConsumingOrm 5000 247001 ns/op
Benchmark_TimeConsumingFunctionRawQuery 10000 215219 ns/op
Benchmark_TimeConsumingFunctionRawQuery 10000 213085 ns/op
Benchmark_TimeConsumingFunctionRawQuery 10000 210200 ns/op
Benchmark_TimeConsumingFunctionRawQuery 10000 209737 ns/op
Benchmark_TimeConsumingFunctionRawQuery 10000 209695 ns/op
Benchmark_TimeConsumingFunctionRawQueryPrepare 20000 65998 ns/op
Benchmark_TimeConsumingFunctionRawQueryPrepare 20000 66214 ns/op
Benchmark_TimeConsumingFunctionRawQueryPrepare 20000 67460 ns/op
Benchmark_TimeConsumingFunctionRawQueryPrepare 20000 67988 ns/op
Benchmark_TimeConsumingFunctionRawQueryPrepare 20000 67424 ns/op
Benchmark_JWTRSA256Sign 300 4128990 ns/op
Benchmark_JWTRSA256Sign 300 4119935 ns/op
Benchmark_JWTRSA256Sign 300 4175446 ns/op
Benchmark_JWTRSA256Sign 300 4121553 ns/op
Benchmark_JWTRSA256Sign 300 4137870 ns/op
Benchmark_JWTRSA256Decode 10000 139202 ns/op
Benchmark_JWTRSA256Decode 10000 138939 ns/op
Benchmark_JWTRSA256Decode 10000 139415 ns/op
Benchmark_JWTRSA256Decode 10000 139179 ns/op
Benchmark_JWTRSA256Decode 10000 137128 ns/op
PASS
ok github.com/KerryJava/goserver 43.983s
使用JWT的RSA256加密做为用户认证, 测试性能的更多相关文章
- LAMP 1.7Apache用户认证
假如我们要在www.aaa.com/的 abc/目录下放一些文件,只想让自己访问,做一个用户认证.输入正确的用户和密码才能访问 cd /data/www mkdir abc cd abc cp /et ...
- ubuntu下配置ProFtpd服务使用sqlite3作为后端用户认证
个人机器需要开个文件共享,Linux机器懒得配置SMB,就直接安装了ProFtpd,以做FTP服务器 Ubuntu安装挺简单,可使用就不那么友好了,配合GAdmin-Proftpd,一样不好用. 首先 ...
- 转:Mosquitto用户认证配置
转自:https://blog.csdn.net/u012377333/article/details/69397124?utm_source=blogxgwz1 前言:基于Mosquitto服务器已 ...
- 前后端分离下用jwt做用户认证
0 前后端分离下的用户信息认证 前端使用Vue+axios,后端使用SpringBoot+SpringSecurity. 为了解决http无状态的问题,我采用jwt(json web token)保存 ...
- 基于JWT标准的用户认证接口实现
前面的话 实现用户登录认证的方式常见的有两种:一种是基于 cookie 的认证,另外一种是基于 token 的认证 .本文以基于cookie的认证为参照,详细介绍JWT标准,并实现基于该标签的用户认证 ...
- 用户认证:基于jwt和session的区别和优缺点
背景知识: Authentication和Authorization的区别: Authentication:用户认证,指的是验证用户的身份,例如你希望以小A的身份登录,那么应用程序需要通过用户名和密码 ...
- [django]前后端分离之JWT用户认证
在前后端分离开发时为什么需要用户认证呢?原因是由于HTTP协定是不储存状态的(stateless),这意味着当我们透过帐号密码验证一个使用者时,当下一个request请求时它就把刚刚的资料忘了.于是我 ...
- 前后端分离之JWT用户认证(转)
在前后端分离开发时为什么需要用户认证呢?原因是由于HTTP协定是不储存状态的(stateless),这意味着当我们透过帐号密码验证一个使用者时,当下一个request请求时它就把刚刚的资料忘了.于是我 ...
- Laravel 5 中使用 JWT(Json Web Token) 实现基于API的用户认证
在JavaScript前端技术大行其道的今天,我们通常只需在后台构建API提供给前端调用,并且后端仅仅设计为给前端移动App调用.用户认证是Web应用的重要组成部分,基于API的用户认证有两个最佳解决 ...
随机推荐
- 凭据管理 API
api 有相应更新 https://www.chromestatus.com/features/4781762488041472 <!DOCTYPE html> <html> ...
- [Android实例] app引导页(背景图片切换加各个页面动画效果)(申明:来源于网络)
[Android实例] app引导页(背景图片切换加各个页面动画效果)(申明:来源于网络) 地址: http://www.eoeandroid.com/thread-918356-1-1.html h ...
- 主席树||可持久化线段树||BZOJ 3524: [Poi2014]Couriers||BZOJ 2223: [Coci 2009]PATULJCI||Luogu P3567 [POI2014]KUR-Couriers
题目:[POI2014]KUR-Couriers 题解: 要求出现次数大于(R-L+1)/2的数,这样的数最多只有一个.我们对序列做主席树,每个节点记录出现的次数和(sum).(这里忽略版本差值问题) ...
- [No000017C]改善C#程序的建议5:引用类型赋值为null与加速垃圾回收
在标准的Dispose模式中(见前一篇博客“C#中标准Dispose模式的实现”),提到了需要及时释放资源,却并没有进一步细说让引用等于null是否有必要. 有一些人认为等于null可以帮助垃圾回收机 ...
- [No000011C]使人醒悟的生活中的定律
1. 墨菲定律 我们在事前应该是尽可能想得周到.全面一些,如果真的发生不幸或者损失,就笑着应对吧,关键在于总结所犯的错误,而不是企图掩盖它. 2. 羊群效应 对他人的信息不可全信也不可 ...
- 使用graalvm.js调用promise
前提 1.JDK1.8 2.引入jar包 <!--graalvm.js --> <dependency> <groupId>org.graalvm.js</g ...
- day4:数据结构list
1,一直输入用户名,输入Q退出,注意用户的输入别忘了加strip,和upper不区分大小写,list最后一位添加append li = [] while 1: name = input("& ...
- algebraically closed field 代数闭域
algebraically closed field https://en.wikipedia.org/wiki/Algebraically_closed_field As an example, ...
- 网关 整理 fastcgi wsgi
https://www.cnblogs.com/hzhtracy/p/4365938.html 网关协议学习:CGI.FastCGI.WSGI.uWSGI 一直对这四者的概念和区别很模糊,现在就特 ...
- prometheus: celery, redis-export
https://github.com/nlighten/tomcat_exporter https://github.com/prometheus/jmx_exporter https://vexxh ...