本文整理汇总了C#中System.Security.Cryptography.HashAlgorithm.ToKeyUriValue方法的典型用法代码示例。如果您正苦于以下问题:C# HashAlgorithm.ToKeyUriValue方法的具体用法?C# HashAlgorithm.ToKeyUriValue怎么用?C# HashAlgorithm.ToKeyUriValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Security.Cryptography.HashAlgorithm
的用法示例。
在下文中一共展示了HashAlgorithm.ToKeyUriValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetKeyUri
internal static string GetKeyUri(
OtpType type,
string issuer,
string account,
byte[] secret,
HashAlgorithm algorithm,
int digits,
long counter,
int period)
{
Contract.Requires<ArgumentOutOfRangeException>(Enum.IsDefined(typeof(OtpType), type));
Contract.Requires<ArgumentOutOfRangeException>(type != OtpType.Unknown);
Contract.Requires<ArgumentNullException>(issuer != null);
Contract.Requires<ArgumentOutOfRangeException>(!string.IsNullOrWhiteSpace(issuer));
Contract.Requires<ArgumentNullException>(account != null);
Contract.Requires<ArgumentOutOfRangeException>(!string.IsNullOrWhiteSpace(account));
Contract.Requires<ArgumentNullException>(secret != null);
Contract.Requires<ArgumentException>(secret.Length > 0);
Contract.Requires<ArgumentOutOfRangeException>(Enum.IsDefined(typeof(HashAlgorithm), algorithm));
Contract.Requires<ArgumentOutOfRangeException>(algorithm != HashAlgorithm.Unknown);
Contract.Requires<ArgumentOutOfRangeException>(digits > 0);
Contract.Requires<ArgumentOutOfRangeException>(counter >= 0);
Contract.Requires<ArgumentOutOfRangeException>(period > 0);
Contract.Ensures(!string.IsNullOrWhiteSpace(Contract.Result<string>()));
return
string.Format(
CultureInfo.InvariantCulture,
"otpauth://{0}/{1}:{2}?secret={3}&issuer={4}&algorithm={5}&digits={6}&counter={7}&period={8}",
type.ToKeyUriValue(),
HttpUtility.UrlEncode(issuer),
HttpUtility.UrlEncode(account),
Base32.Encode(secret),
HttpUtility.UrlEncode(issuer),
algorithm.ToKeyUriValue(),
digits,
counter,
period);
}