2023-10-22
encryption and decryption
0

介绍

SM4是一种对称加密算法,是中国国家密码管理局发布的商用加密算法标准,也被称为"SMS4"。它是一种分组密码,属于分组密码家族,类似于AES、DES等对称加密算法。下面是对SM4对称加密的简要介绍:

1. 对称加密算法: 对称加密算法使用相同的密钥来加密和解密数据。这意味着发送方和接收方都必须共享相同的密钥,这种密钥的管理可能会带来一些挑战。SM4是一种对称加密算法,它适用于保护数据的机密性。

2. SM4算法特点:

  • 分组密码: SM4算法对数据以128位(16字节)为一组进行加密和解密。
  • 密钥长度: SM4算法支持密钥长度为128位(16字节)。
  • 工作模式: SM4支持多种工作模式,如ECB(电子密码本模式)、CBC(密码块链接模式)等,以适应不同的应用需求。
  • 填充方式: SM4支持不同的填充方式,通常使用PKCS7Padding填充方式。
2023-10-19
浏览器
0

浏览器跨域是一个Web开发中常见的问题,指的是在浏览器中,一个网页试图向不同源(或域)的服务器请求数据,而浏览器因为同源策略的限制而阻止这样的请求。同源策略是浏览器的一项安全特性,用于防止恶意网站获取用户的隐私信息或执行恶意操作。以下是关于浏览器跨域的详细解释:

1. 同源策略(Same-Origin Policy): 同源策略是一个安全机制,它规定了一个网页文档只能从与其相同协议(HTTP或HTTPS)、同域名和相同端口的服务器请求数据。如果请求的服务器地址不符合这些条件,浏览器会阻止该请求,以保护用户的安全。

2023-10-19
JAVA
0

Java 应用诊断利器之Arthas(阿尔萨斯)

简介

Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。

2023-10-15
JAVA
0

提前了解容忍度值概念

在实际应用中,适当的浮点数容忍度值取决于您的需求和具体情况。通常,容忍度值的选择需要根据所处理问题的领域和精度要求来确定。以下是一些常见情况下可能使用的容忍度值:

  1. 相等比较:如果您只需要比较两个浮点数是否相等,一种常见的容忍度值是机器epsilon的倍数,通常被称为机器epsilon。机器epsilon是一个非常小的正数,代表了浮点数表示的最小可区分值。在 Java 中,您可以使用 Double.MIN_VALUEFloat.MIN_VALUE 来获取机器epsilon的值,然后乘以一个倍数作为容忍度。

    java
    double epsilon = 1e-10; // 机器epsilon的倍数

    这个值通常足够小,以满足相等性比较的需求。

  2. 数值计算:在进行数值计算时,容忍度的选择通常会取决于您所处理的问题和数据范围。较大的容忍度值可能会导致对小数位的精度损失,而较小的容忍度值可能导致数值计算的不稳定性。在此情况下,您可能需要根据问题的特性进行实验和调整。

2023-10-15
内网穿透之ngrok
0

ngrok是一个开源的反向代理工具,可以让你通过公共的URL来访问本地运行的web服务。主要有以下几个特点:

  1. 简单快速。只需要下载一个执行文件,就可以运行ngrok,非常简单方便。

  2. 安全可靠。ngrok会为每个会话生成一个随机的子域名,避免冲突。传输的数据都是加密的,可以防止嗅探。

  3. 功能强大。支持TCP、TLS等服务,可以反代到本地的任何端口。同时提供了丰富的API和指标,便于统计和扩展。

  4. 跨平台支持。ngrok提供了Windows、Linux、Mac版本,并且开源协议可以让你编译到其他平台。