c# pkcs8-编程思维

背景 C#项目要携带用户信息,通过JWT, 跳转到Java项目。为了验证Token,所以用于签名的key和算法必须一致。 Java项目JWT的实现 String secret = "PKCS8 encode private key"; PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(Base64.getDecoder().decode(

java单例模式-编程思维

代码 public class SamlUtil { private static SamlUtil samlUtil; private static final Object lock = new Object(); private SamlUtil() { } public static SamlUtil getInstance() { SamlUti

基于saml2.0的sso实现(c#&java)-编程思维

背景 如题 原理 和对接其他平台一样,在开始之前我们要向调用的服务方申请一些东西,以便后面开展工作,比如,下图就是微信公众平台开发时候需要进行的操作: 我们的开发也是一样,也需要这样的前期准备。 这个过程可能是通过线上填写信息,也可能发个邮件加个附件,也可以是线下找对应的人员沟通。 总之,目的就是:交换信息。 交换信息的目的就是后面流程使用 准备 我所在的项目是通过发送XML文件给IdP的

网络包之旅-编程思维

两个网络 如下拓扑,aaaa代表mac地址,.10代表ip地址,123代表端口 发送过程 假如我们想把一个数据从A发D 0.一切开始之前,因为这个网络拓扑,所以在网络就绪之初,路由器拿出小本本在路由表记录下: eth1 11.11.11.0/24 eth2 22.22.22.0/24 首先,A要给D发包,A是知道D的IP地址的 A构建一个数据 DATA L3 SRC:11.11

ut: fake vs stub vs mock-编程思维

Fake Fakes are objects that have working implementations, but not same as production one. Usually they take some shortcut and have simplified version of production code. Stub Stub is an object tha

java匿名内部类-编程思维

三种方式的演化 Thread构造方法如下 public Thread(Runnable target) { init(null, target, "Thread-" + nextThreadNum(), 0); } Runnable 是一个接口 @FunctionalInterface public interface Runnable { public abstrac

https cipher suite问题-编程思维

背景 服务器是Windows server 2012 R2, 之前扫出安全问题,并提供解决方案 TLS/SSL Server Is Using Commonly Used Prime Numbers The server is using a common or default prime number as a parameter during the Diffie-Hellman key

jdbc集成认证连接sql server-编程思维

下载JDBC Driver 目前最新版本是v9.4 值得一提的是从v6.4开始,连接字符串增加属性SSLProtocol,可以指定TLS版本(https://github.com/Microsoft/mssql-jdbc/wiki/SSLProtocol) https://docs.microsoft.com/en-us/sql/connect/jdbc/release-notes-for-th

vscode 输出 java ssl 请求过程-编程思维

写在代码里 System.setPropety("javax.net.debug","all") value值可以设置all、true、ssl 具体可以参考这里:https://www.ibm.com/docs/en/sdk-java-technology/7.1?topic=troubleshooting-debugging-utilities 写在启动配置中 在VSCode 的launch

abstract类中使用@autowire-编程思维

背景 项目使用的就是SpringBoot默认的结构,我看了下,依赖注入使用了最不推荐的字段注入。 字段注入 为了保持项目风格统一,省的有些理论派挑刺,还是延续字段注入的操作。 某个业务场景下,有一个抽象的父类和多个具体的子类,子类中需要用到父类注入的对象。 当即有人就说,这么写: public abstract class AbstractClass{ @Autowired pr

assert in c#&java-编程思维

Assert是什么? 断言(Assertion)是一种调试程序的方式。 C#中的Assert In a debug compilation, Assert takes in a Boolean condition as a parameter, and shows the error dialog if the condition is false. The program proceeds

okhttp中的builder模式-编程思维

代码 我们以Request类为例,以下是部分代码: public final class Request { private final HttpUrl url; private final String method; private final Headers headers; private final RequestBody body; private final O

testng针对特定的api响应结果进行重试-编程思维

问题 有一个模块,提供两种方式导入数据,导入的过程是异步的。API处有校验,当有数据正在处理的时候,不能再导入,比如等待前一个导入结束。 我们针对这两种方式进行测试,当两个Test跑起来的时候,后面的case则无法通过test,因为前面的case创建了导入,导入状态还是In Process。 dependsOnMethods 所以,我们的要求就是,这两个case必须一个完成了才能进行下一个。很容