Refresh token用什么方式生成比较好?用Guid不太安全。
而且refresh token需要作为一个字段存储在数据库中,并根据它进行查询,所以字符数也不能太多。
最终采用的方法:
RandomNumberGenerator cryptoRandomDataGenerator = new RNGCryptoServiceProvider(); byte[] buffer = new byte[96]; cryptoRandomDataGenerator.GetBytes(buffer); string secretOrToken = Convert.ToBase64String(buffer) .TrimEnd('=').Replace('+', '-').Replace('/', '_');
相关博文:
ASP.NET OAuth:access token的加密解密,client secret与refresh token的生成
Base64(Guid+时间戳+随机数)
为什么guid不安全?
guid容易被暴力破解
@dudu: 是因为位数太短吗?
@吴瑞祥: 复杂度不够,只有字母与数字