我正在使用Hashids来隐藏 URL 中的数据库 ID。以下是我对Hashids的初始化:
public static Security.Hashids HashOps = new Security.Hashids("Sl212", 5);
Security
是我复制 Hashids.cs 文件的项目的命名空间。编码工作正常,但解码抛出IndexOutOfRangeException
异常。这就是我解码的方式:
int fileID=HashOps.Decode(FileID)[0];
我尝试了许多盐和不加盐,但它一次又一次地抛出相同的异常。我正在使用文件中的原始代码。除了命名空间我什么都没改变。
请告诉我应该怎么做?在尝试了 12 个小时后,我的思绪陷入了死胡同。
更新
我在控制台应用程序中运行的测试代码也抛出异常:
Hashids HashOps = new Hashids();
string hash = HashOps.Encode(212);
Console.WriteLine("Encoded: " + hash);
Console.WriteLine("Decoded: " + HashOps.Decode(hash)[0]);