- 博客(355)
- 资源 (1)
- 收藏
- 关注

原创 2020最新-精选基础算法100题(面试必备)
0x01.概述作为一个程序员,算法能力必不可少,虽然不一定是算法工程师,但是算法还是彰显着个人的编码能力,面试中也经常会被问到,甚至会被要求临场做算法题,所以,还是好好积累吧。个人其实对算法挺有兴趣的,从3月份开始,陆陆续续刷了一些算法题,把一些有意义的记录下来了,也顺便写了一些题解,个人认为,还是挺有收获的。之前写了一篇算法文章的目录,不过后来就忘了实时去更新了,于是现在,想把之前做过的一些有意义的算法题分享出来,刚好整理了100篇比较有意义的。希望对大家有所帮助。0x02.说明关
2020-05-18 19:58:16
271518
24

原创 【前端插件推荐】8个实用前端插件 --(个人博客必备)
0x01.MarkDown编辑器(Editor.md)对于个人博客来说,能在线编辑的MarkDown编辑器是必不可少的,它能让你的体验更加美好哦~这里推荐的是 Editor.md 这款插件,原因是简洁且功能强大,并且官网上附有详细的示例。具体可以访问 Editor.md 的官网:http://editor.md.ipandao.com/集成详细步骤:1.下载:官网下拉,点击github下载。2.复制必要文件:3.引入资源:<!-- editormd插件css -->
2020-05-16 19:20:46
32453
11

原创 【Spring-MVC基础】由浅入深-Spring MVC
本文致力于由浅入深的去介绍,使用Spring MVC;细节比较多,希望能对正在观看的你有所帮助!博主水平有限,难免存在缺陷和错误,欢迎大佬的指出与补充,谢谢!0x01.认识Spring MVC1.Spring MVC概述Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能...
2020-04-24 19:19:55
165732
7

原创 【Spring-AOP基础】深入浅出Spring-AOP(从动态代理到Spring AOP)
AOP(Aspect Oriented Programming)1.概念AOP:全称是 Aspect Oriented Programming即:面向切面编程。
2020-04-22 15:50:04
117025

原创 【Spring-IOC基础】深入浅出Spring-IOC
IOC(Inversion Of Control)1.概念:控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统...
2020-04-20 16:20:03
40472
3

原创 深度挖掘动态思想
写在前面的话本文从六个经典的股票问题出发,深度挖掘动态的思想,旨在理解动态思想的本质,灵活的处理各类动态规划的问题。这六个股票问题断断续续的耗费了几天的时间,初次解决这些问题,使用的是贪心的思想,时间和空间复杂度还算可以,但是这些思想中的联系不是很大,并不适合解决一系列的问题,在最后一个股票中,发现贪心的思想无从运用,于是最后是以三维的动态规划解决,当然效率方面不是很理想,最终,偶然看到了...
2020-03-19 08:17:11
108583
1
原创 生成指定位数强Lucas校验伪素数-Arnault1995构造法
Arnault在1995年的论文《Constructing Carmichael Numbers which are Strong Pseudoprimes to Several Bases》提出了一种用于构造强Lucas校验伪素数的方法,本文将对其方法做具体的实现分析。
2023-11-21 13:58:38
86
原创 MR素数测试及 pycryptodome库下 已知MR伪素数以及强伪证 生成指定伪随机数生成器绕过素性检测
MR素数测试在密码学库中应用广泛,通常作为BPSW的一部分来进行素数测试,由于在其算法中,有随机数的使用(选择一个随机的base),若一个MR伪素数�n,已知其在某一个强伪证�a(随机base)下表现出伪素性,那么我们可以逆向其算法过程,构造一个伪随机数生成器,使其通过MR素数测试。这通常是绕过BPSW必不可少的一部分。
2023-11-20 12:24:56
734
原创 gmpy2 GMP is_prime函数底层c代码分析
偶然看到一篇paper(2018年发表),说GMP中的素性检测使用的是单独的Miller_Rabin方法,单独的Miller_Rabin素性检测会存在部分安全问题(低概率),然后突然想求证一下最新版本的GMP中是否进行了修改。python中常用的gmpy库的底层实际就是GMP实现的。
2023-11-14 23:12:14
147
原创 带IV的分组加密下密文分散存储且存在混淆密文片段的多项式时间解密方案
在使用带IV的分组加密模式下,考虑这样一个场景:分组加密后,每组密文都被分散保存,且在恢复的时候,每组密文会和n个混淆的密文一起提供,此时,若想完整的恢复明文,需要一个多项式时间的方案来剔除所有混淆密文。本文提出了一种基于可密文前缀的方案,能够在多项式的时间内完成解密。
2023-10-31 20:26:44
99
原创 【密码学代码分享】突破ECDSA算法封装--JS无三方包纯手写ECDSA
ECDSA是一种基于椭圆曲线密码学的数字签名算法。它用于确保数字数据的完整性和身份验证,通常在信息安全和加密通信中使用。在日常使用中,通常会使用一些函数库来实现完成这个算法的功能,但是有部分情况是需要自高度自定义ECDSA相关逻辑的,这里分享JavaScript语言在不借助第三方库的前提下纯手写的ECDSA算法代码,并对其实现原理进行解释。
2023-09-02 21:16:30
11340
1
原创 【CAS定制】定制化密码编码器--支持密码组合编码或加密 PasswordEncoder
CAS中,默认支持的PasswordEncoder只能通过一种密码算法进行编码或加密,但是日常场景经常存在组合编码的需求,这就需要我们去定制一种支持密码组合编码或加密的编码器。
2023-08-09 17:26:39
11041
1
原创 【个人环境问题排查】解决一个离谱的BurpSuite Professional代理问题(无法访问此网站,Whitelabel Error Page)
最近打开Burp的时候,发现内置浏览器访问不任何网站了,用证书的方式在普通浏览器也访问不了,非常疑惑,最后发现竟是一个非常离谱的问题。
2023-08-08 09:32:36
9400
原创 【项目排错】谨防不同包下的BeanUtils混用
今天排查项目里一个奇奇怪怪的NPE问题,经过调试,最后竟是混用了不同包的BeanUtils所导致的,这里记录一下。
2023-08-04 16:53:35
8811
原创 【JDK版本差异】Optional.requireNonNullElseGet在JAVA8中的替代表述
`Objects.requireNonNullElseGet` 是 Java 9 引入的方法,不在 Java 8 中可用。但是,可以使用 Java 8 的一些功能来模拟类似的效果。
2023-08-04 11:30:41
8825
原创 【CAS6.6源码解析】ST的默认淘汰策略 MultiTimeUseOrTimeoutExpirationPolicy
本篇文章是对上篇文章【深度解析票据淘汰与过期策略】的一个补充,上篇文章主要分析了TGT的默认淘汰策略配置,ST的配置有TGT的默认配置有一些差异化,特别是ST是基于MultiTimeUseOrTimeoutExpirationPolicy这样一种淘汰策略,本文将详细解析ST的淘汰策略。
2023-08-01 15:00:54
18475
原创 【CAS6.6源码解析】深度解析票据淘汰与过期策略-探究数据淘汰策略的设计
票据作为一种时效很敏感的数据,其过期策略的设计对其功能性和性能影响很大。本文将深度解析票据淘汰与过期策略,并基于此探究数据淘汰策略的设计,让我们一起走进企业级中央认证中心CAS的源码,分析其设计的巧妙之处。
2023-08-01 11:33:54
27429
原创 【CAS6.6源码解析】深度解析默认票据存储策略及其拓展支持-探究存储策略的设计
CAS作为一款企业级中央认证服务系统,其票据的生成是非常重要的一环,在票据的生成中,还有一个比较重要的点是票据的存储,本文将默认票据存储策略及其拓展支持,并延伸到探究存储策略的设计。
2023-07-31 16:43:25
36843
原创 【CAS6.6源码解析】深入解析TGT和ST的唯一ID是怎样生成的-探究ID生成器的设计
CAS作为一款企业级中央认证服务系统,其票据的生成是非常重要的一环,在票据的生成中,有一个比较重要的点就是为票据生成唯一ID,本文将深入解析CAS系统中的TGT和ST的唯一ID是怎样生成的。
2023-07-31 10:55:15
36886
原创 【Git协同】误采用压缩包下载进行开发后如何将代码合入主干
有时候对于一些使用git协同的项目,不小心可能会采用压缩包的方式下载代码,当在此代码上进行修改后才发现项目里压根没有git相关文件,这里提供一种针对此类现象的解决方案。
2023-07-29 22:46:12
19769
原创 【CAS6.6源码解析】源码构建时-默认service配置不生效解决方案
CAS6的源码提供了默认的HTTPSandIMAPS-10000001.json配置用于授权所有的https和imaps服务,但是当添加JsonServiceRegistry模块启动后,会发现service是没有被注册的,是由于json路径引起的错误,可以把路径修改为绝对路径以解决此问题。
2023-07-27 17:09:47
603
原创 【CAS6.6源码解析】调试Rest API接口
CAS的web层默认是基于webflow实现的,ui和后端是耦合在一起的,做前后端分离调用和调试的时候不太方便。但是好在CAS已经添加了支持Rest API的support模块,添加相应模块即可。
2023-07-25 11:05:49
899
1
原创 【CAS6.6源码解析】授权过程异常调试 (认证信息无效 <1 errors, 0 successes>)
在CAS启动后,经常会出现第一次配置某种授权策略不熟悉,导致登录页面输入理想中正确的账号密码,实际上页面显示认证信息无效,查看控制台也没有报错,很是苦恼。这里分享一个从源码调试层面去解决这个问题的办法。
2023-07-21 15:54:54
19069
原创 【CAS6.6源码解析】在IDEA中调试可插拔的supprot模块
CAS的casWebApplication启动后,默认只加载最小的支撑系统的模块,很多模块(大部分在support包下)是需要手动去引入的(对新人来说有坑),这里介绍一下如何手动引入这些模块。
2023-07-21 15:01:47
19347
原创 【IDEA大项目依赖分析卡死-解决方案】Processing build files for dependencies analysis...
【IDEA大项目依赖分析卡死-解决方案】Processing build files for dependencies analysis...
2023-07-19 16:49:53
2620
1
原创 【CAS6以上报错解决】InvalidAlgorithmParameterException AlgorithmParameterSpec not of GCMParameterSpec
今天尝试源码构建CAS的时候,发生了如下InvalidAlgorithmParameterException AlgorithmParameterSpec not of GCMParameterSpec的报错,经过长达三小时的仔细排查,最终找到了问题的所在。
2023-07-11 16:03:01
354
原创 【开源-文章迁移利器】MarkDown本地图片转云端存储脚本-支持目录递归查找转换
从一些笔记软件导出markdown文档后,图片都是本地图片,文档数量过多,用typora一一打开上传图片过于繁琐,特开发一个一键迁移文章图片的脚本,方便markdown文档的迁移。
2023-07-08 17:55:43
20359
原创 星光与赶路人--记录我的本科四年
这四年,总结来说,涉及了很多方面,但没有任何一个方向做到了很深的地步。学生工作没有做的很好,做学生工作时,我一直的原则是做好份内的事情,没有花过多的心思去主动做一些产出,我的时间也实在不支持我做过多的拓展。竞赛没有做的很好,没有一个竞赛做的很深入,能够持续的一直做下去的那种,参加的竞赛类型多,也没有得到标志性的大奖。技术没有做的很好,主要的学习方向到了实习后,重在应用,没有往深入继续钻研。
2023-06-08 21:49:45
350
原创 crypto-js AES-CTR 实现密文前缀式局部解密细节 踩坑点
项目有需求,长明文经过AES-CTR模式加密后,在解密的时候,密文不能直接得到,每次通过某些方法尝试后,只能得到一块密文(按顺序),所以只能一块一块的拼接解密。在使用crypto-js这个库的时候,发送不能直接实现这种局部解密,踩了个大坑,最后经过调试源码,查看文档,花了大半天时间才解决,在此分享一下解决方案。。
2023-04-10 16:50:43
762
1
原创 Github 学生优惠包 -- 最新防踩坑指南
Github学生优惠包的申请最近越来越麻烦,里面有非常多的坑,留下此文防止各位申请的时候踩到。此文面向中国大陆真正有学生身份的同学!!!
2023-02-19 14:28:54
42994
14
原创 2022年终总结-看过风景,再上征途
值此元宵佳节,再次回顾我的一整年。这一年,是读书生涯的转折点,是初入社会体验的一年,是三观不断成长的一年,也是本科生涯中的最后一年,希望落笔记下这一年的所见所想,供多年之后回味。
2023-02-05 22:23:44
404
原创 CVE-2022-21449 Java SE ECDSA数字签名伪造漏洞分析与复现
在Oracle四月份发布的 Oracle Critical Patch Update Advisory - April 2022(关键补丁更新建议)中提及了Java SE涉及的一个和数字签名有关的高危漏洞,漏洞编号为CVE-2022-21449。本文对此漏洞进行一定的分析以及复现。
2022-10-31 16:05:38
1238
原创 DSA数字签名-针对随机数k的共享k攻击&线性k攻击
DSA数字签名算法是NIST在数字签名标准DSS中采用的签名算法,它公布于1994年5月19日的联邦记录上,并于1994年12月1日采纳为标准DSS。本文简单总结DSA算法针对随机数k的一些攻击方法。
2022-10-17 17:04:50
1066
原创 【实用代码】日志转Json详细解析 (LogToJson)
在项目中记录日志的时候,常常会直接输出一个对象,直接输出对象会调用对象的toString方法,最终一会把一个对象的每个字段甚至嵌套的字段都打印出来。但是一般拿到日志需要做某些分析或排查问题的时候,常常需要将日志转成json字符串,方便在各种中间件传输以及接口调用。本文针对这种场景,设计了一种快速将日志转换成json的工具,非常实用,并且提出了一种通用的方法去做类似的转换工作。
2022-08-25 14:29:26
21004
原创 打印矩阵问题
打印矩阵问题是这样一个问题:以顺时针或者逆时针的方式打印整个矩阵。因为这个打印的顺序和我们经常遍历矩阵的顺序完全不同,所以初次面对这个问题时,看似比较困难,但是仔细一想,解法又会非常多的,是一道不错的面试题(前提是以前没有做过)。...
2022-08-10 21:13:22
536
原创 用IDEA打开并调试没有使用maven的普通Java WEB项目
最近有一个改一个eclipse写的老项目的需求,没有用maven,由于对IDEA熟悉一些,所以用IDEA来改,记录一下如何用IDEA打开并调试一个没有使用maven的普通Java WEB项目。
2022-05-15 16:39:17
1428
1
MacOS Arm64下115.0.5790.170版本的chromedriver
2023-08-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人