在介绍非贪婪匹配前,我们先看一个简单的问题: 给定一个字符串表示的数字,判断该数字末尾 0 的个数。例如: “…
分割字符串 使用正则表达式分割字符串可以实现更加灵活的功能。String.split()方法传入的正是正则表达…
在计算机系统中,什么是加密与安全呢? 我们举个栗子:假设 Bob 要给 Alice 发一封邮件,在邮件传送的过…
要学习编码算法,我们先来看一看什么是编码。 ASCII 码就是一种编码,字母 A 的编码是十六进制的 0x41…
哈希算法(Hash)又称摘要算法(Digest),它的作用是:对任意一组输入数据进行计算,得到一个固定长度的输…
我们知道,Java 标准库提供了一系列常用的哈希算法。 但如果我们要用的某种算法,Java 标准库没有提供怎么…
在前面讲到哈希算法时,我们说,存储用户的哈希口令时,要加盐存储,目的就在于抵御彩虹表攻击。 我们回顾一下哈希算…
对称加密算法就是传统的用一个密码进行加密和解密。例如,我们常用的 WinZIP 和 WinRAR 对压缩包的加…
上一节我们讲的 AES 加密,细心的童鞋可能会发现,密钥长度是固定的 128/192/256 位,而不是我们用…
对称加密算法解决了数据加密的问题。我们以 AES 加密为例,在现实世界中,小明要向路人甲发送一个加密文件,他可…