avatar
Articles
292
Tags
211
Categories
0

karr's blog
Search

karr's blog

md5彩虹表奇妙的比喻
Created2024-06-30
如果将 MD5 哈希后的密文比作一把锁,暴力破解的方法就是现场制作各种各样不同齿形的钥匙,再来尝试能否开锁,这样耗时无疑很长很长。。。 我以前错误理解的 “彩虹表”,是事先制作好所有齿形的钥匙,全部拿过来尝试开锁,这样虽然省去了制作钥匙的时间,但是后来发现这些钥匙实在是太多了,没法全部带在身上。 而真正的彩虹表,是将钥匙按照某种规律进行分组,每组钥匙中只需要带最有特点的一个,当发现某个 “特征钥匙”差一点就能开锁了,则当场对该钥匙进行简单的打磨,直到能开锁为止。这种方法是既省力又省时的。
原生 js 解析 jwtToken 获取 token 中携带的信息
Created2024-06-26
1234567const jwtToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0IiwiZXhwIjoxNzE5NDA0MDU2fQ.CZcJMXS7qYDqjJk9Dt3C3WcfmH2a4-79Q-Zenpv0jB0";let strings = jwtToken.split("."); //截取token,获取载体const userinfo = JSON.parse( window.atob(strings[1].replace(/-/g, "+").replace(/_/g, "/")));console.log("userinfo", userinfo);
python不验证密钥直接解析jwtToken第二段的内容,通过base64解析
Created2024-06-26
12345def test01(): token = "t1.t2.t3" token_body = token.split('.')[1] result = json.loads(base64.b64decode(token_body + '==').decode('utf-8')) print(result)
fastapi 在响应后如果还有未被执行的 async task 将会自动执行
Created2024-06-26
场景复现123456789101112async def async_test(): time.sleep(2) print("async_test", time.time()) return "success"@router.post("/test", summary="test")async def test(): task = asyncio.create_task(async_test()) # await asyncio.gather(task) time.sleep(5) return "success" 浏览器访问 /test 路由,会发现,在 5 秒后返回响应 “success” ,接着 async_test 会自动被执行,于 2 秒后打印日志。
vue页面平滑滚动到顶部或底部
Created2024-06-21
使用CSS的scroll-behaviorscroll-behavior: auto | smooth | inherit | unset 一般我们使用auto和smooth就可以了,smooth表示滚动很平滑,有过渡效果,auto没有过渡效果,一闪而过。 我们一般回到顶部的话把这个属性设置在html上即可。代码如下 只使用 html a 标签实现12345678910111213<div id="container" class="box"> <p>Hello, Backtotop</p> <br/> <p>Hello, Backtotop</p> <br/> <p>Hello, Backtotop</p> <br/> <p>Hello, Backtotop</p> <br/> /* 省略部分代码 */</div><a ...
mysql limit 优化 百万至千万级快速分页
Created2024-06-20
mysql limit 使用方法在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。 1SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset MySQL Limit 优化解决方案性能到底能有多高?MySql 这个数据库绝对是适合dba级的高手去玩的,一般做一点1万篇新闻的小型系统怎么写都可以。可是数据量到了10万,百万至千万,他的性能还能那么高吗?一点小小的失误,可能造成整个系统的改写,甚至更本系统无法正常运行!好了,不那么多废话了。用事实说话,看例子 数据表 collect ( id, title ,info ,vtype) 就这4个字段,其中 title 用定长,info 用 text, id是逐渐,vtype 是 tinyint,vtype 是索引。这是一个基本的新闻系统的简单模型。现在往里面填充数据,填充10万篇新闻。最后 collect 为 10万条记录,数据库表占用硬盘1.6G。 OK ,看下面这条sql语句 12sele ...
git文件超过100MB上传到服务器报错this exceeds GitHub file size limit of 100MB
Created2024-06-15
github向服务器commit时,若有大于100MB的文件会commit失败,同时报错提示。若要将大文件顺利提交,可以通过以下步骤。 如果版本库已经执行了commit、push操作,记录中已经有了大文件,那么需要先把大文件从版本库记录中删除 1,删除错误缓存索引 对于文件: 1git rm --cached path_of_the_file 对于文件夹: 1git rm --cached -r path_of_the_dir 2,重新提交 修改提交信息:git commit --amend 重新提交:git push origin master 这样就把所有小文件都提交到远程仓库了 使用Git Large File Storage进行大文件提交 1,安装教程:https://github.com/git-lfs/git-lfs/wiki/Installation 2,查找大文件,并把大文件加入大文件track中 查找大文件:find ./ -size +100M 把上述查找到的大文件通过 git lfs track "path_of_the_file&quo ...
python中filter|map函数传入多个参数的方法
Created2024-06-15
借助lambda filter 12345678def foo(a, b, c): return a < b and b < cmyTuple = (1, 2, 3, 4, 5, 6)# 找到大于1,小于4的值print(list(filter(lambda x: foo(1, x, 4), myTuple)))# (2, 3) map 12345678910def func(x, y): print(x, y) return x + ya = [1, 2]data = list(map(lambda x: func(x, 88), a))print(data)# 1 88# 2 8# [89, 90]
sqlalchemy查询json字段中的某个值
Created2024-06-12
12345from sqlalchemy import funcquery_ = query_.filter( func.json_extract(models.Person.data, f'$.{key}') == value,)
MySQL的执行流程图
Created2024-06-10
1…678…30
avatar
karr
世界那么大,我想去看看。
Articles
292
Tags
211
Categories
0
gitee
Announcement
This is my Blog
Recent Post
python 使用线程池来同时执行多个函数2025-07-23
获取 A 股全部历史数据保存到本地2025-07-22
What are AI Agents?2025-07-21
Hello, 极简AES!2025-07-20
Git报错: Failed to connect to github.com port 443 解决方案2025-03-30
Tags
memory_profiler mysqlclient react-error utils OTP io多路复用 importlib postMessage 字典 救猫咪 数据库 text npm 协程 react-warning git-lfs Artificial Intelligence vue-router Android 前端 变现 Homebrew commit message 重复数据 动态口令 Next-key lock stopPropagation ONLY_FULL_GROUP_BY react-fragment-error-message 代码 口罩检测系统 react-props-warning-message 远程仓库 FastAPI eslint es6 GROUP BY 搜索引擎 md5 react-text-error-message
Archives
  • July 20254
  • March 20256
  • February 20252
  • January 20253
  • November 20242
  • October 20243
  • September 20247
  • August 202410
Info
Article :
292
UV :
PV :
Last Update :
©2024 - 2025 By karr
Framework Hexo|Theme Butterfly
Search
Loading the Database