分类 博客文章 下的文章

snake发布于2022-07-28

简述RSA DSA ECDSA EdDSA Ed25519 加密的区别

密钥对类型 RSA DSA ECDSA EdDSA Ed25519

RSA,DSA,ECDSA,EdDSA和Ed25519都用于数字签名,只有RSA也可以用于加密

  • RSA(Rivest–Shamir–Adleman)是最早的公钥密码系统之一,被广泛用于安全数据传输。它的安全性取决于整数分解,因此永远不需要安全的RNG(随机数生成器)。与DSA相比,RSA的签名验证速度更快,但生成速度较慢。

  • DSA(数字签名算法)是用于数字签名的联邦信息处理标准。它的安全性取决于离散的对数问题。与RSA相比,DSA的签名生成速度更快,但验证速度较慢。如果使用错误的数字生成器,可能会破坏安全性。

  • ECDSA(椭圆曲线数字签名算法)是DSA(数字签名算法)的椭圆曲线实现。椭圆曲线密码术能够以较小的密钥提供与RSA相对相同的安全级别。它还具有DSA对不良RNG敏感的缺点。主要用于对数据(比如一个文件)创建数字签名,以便于你在不破坏它的安全性的前提下对它的真实性进行验证。 可以将它想象成一个实际的签名,你可以识别部分人的签名,但是你无法在别人不知道的情况下伪造它。

阅读全文»

snake发布于2018-03-12

js简单验证码处理

注意只针对简单验证码(仅仅数字和英文字母,方向不变并且噪点较少)

获取特征

  • 通过canvas获取页面图片
  • 切割每一个字符获取元数据(一维数组rgba)
  • 灰度化+二值化获取每个像素点的信息
  • 提取可能出现的所有字符的特征信息

阅读全文»

snake发布于2017-10-14

Regular Expression

Regular Expression

常简写为regex、regexp或RE),计算机科学的一个概念。 通常被用来检索、替换那些符合某个模式(规则)的文本

元字符

  • . 匹配除"\r\n"之外的任何单个字符;要匹配包括"\r\n"在内的任何字符,请使用像"[\s\S]"的模式.

  • x|y匹配x或y;"z|food"能匹配"z"或"food";"[zf]ood"则匹配"zood"或"food".

  • [xyz] 字符集合匹配所包含的任意一个字符;"[abc]"可以匹配"plain"中的"a".

  • [^xyz] 负值字符集合匹配未包含的任意字符;"[^abc]"可以匹配"plain"中的"plin".

  • [a-z] 字符范围匹配指定范围内的任意字符;"[a-z]"可以匹配"a"到"z"范围内的任意小写字母字符.

阅读全文»

snake发布于2017-08-09

go tool pprof

  1. 加入代码
    import _ "net/http/pprof"
    go func() {
         log.Println(http.ListenAndServe("localhost:6060", nil))
    }()
    
  2. 编译并运行
  3. 新窗口打开命令行

阅读全文»