Skip to content

Instantly share code, notes, and snippets.

@piaoniao
piaoniao / Perlin_Tiled.cs
Created October 10, 2019 06:50 — forked from Flafla2/Perlin_Tiled.cs
A slightly modified implementation of Ken Perlin's improved noise that allows for tiling the noise arbitrarily.
public class Perlin {
public int repeat;
public Perlin(int repeat = -1) {
this.repeat = repeat;
}
public double OctavePerlin(double x, double y, double z, int octaves, double persistence) {
double total = 0;
@piaoniao
piaoniao / id混淆算法.md
Created October 10, 2019 06:49 — forked from megayu/id混淆算法.md
id混淆算法

id混淆算法

在业务系统中,通常都存在着根据id查询详细信息的场景,比如GET /item/100,获取id为100的商品,这是最常规的做法,但不适用于对外服务,因为数字id泄露了内部信息,通过更改id可以访问其他数据,如果使用程序脚本还可以把所有数据爬下来,另外通常id是递增的,id较小通常代表创建时间早。

因而对外服务中我们需要对id做混淆,合格的算法混淆后的id通常需要达到以下几点:

  • 随机数字或字符串

  • 无特征,相邻id混淆后非递增、非相近数字或字符串