(一)Base64Url
为了在url中对数据进行编码,不适合直接使用Base64编码,通常可以使用Base64Url编码,即替换掉+/=符号后的Base64码。
原生的Base64编码解码可以利用Convert.ToBase64String()和Convert.FromBase64String()来完成。但是Convert类中没有直接转换为Base64Url的方法,以下的方法时可以的:
(1)在Microsoft.AspNetCore.WebUtilities中存在类WebEncoders,可以实现Base64Url的编码与解码。
WebEncoders.Base64UrlEncode
WebEncoders.Base64UrlDecode
(2)此外,github上存在gfoidl/Base64 ,该库也可以实现Base64Url的编码与解码。
当然,其它开源库也是有不少的。
(二)IDataProtectionProvider
在Asp.net core 中,可以使用IDataProtectionProvider来获取DataProtector对象用于数据的加密解密。具体使用时,可以直接通过依赖注入IDataProtectionProvider,从而可以通过IDat