本文整理汇总了C#中Hash.Calculate方法的典型用法代码示例。如果您正苦于以下问题:C# Hash.Calculate方法的具体用法?C# Hash.Calculate怎么用?C# Hash.Calculate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Hash
的用法示例。
在下文中一共展示了Hash.Calculate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Serialize
public override string Serialize(DynamicModuleField _obj, ConversionContext _context = null)
{
// For security reasons we cannot send the user's password in plain text to the browser.
// We send a bogus text. Because of this, we need to check whether the user
// has changed the password value or not.
if (_context == null) {
throw new ArgumentNullException("_context");
}
if (_obj == null) {
throw new ArgumentNullException("_obj");
}
var data = _obj.Data as Password;
// A Password field cannot be set to null or empty string by design
if (data == null ||
String.IsNullOrWhiteSpace(data.Value) ||
data.Value == Password.BogusText) {
// The user has not changed his password.
// Let's retrieve the original value from the database and store it again.
var originalModel = new DynamicModuleField();
originalModel.Data = Deserialize(_context.Cell, _context);
_obj.Data = originalModel.Data;
}
else {
// The user is setting a new password. We'll generate a hash for it
var hash = new Hash(Hash.Provider.SHA1);
data.Value = hash.Calculate(new Data(data.Value), new Data("|)0ver3ncrypt10n_k3y")).Base64;
}
return base.Serialize(_obj, _context);
}
示例2: Test_Password_Should_Set_Value
public void Test_Password_Should_Set_Value()
{
var samplePassord = "some secret data";
var data = new Password { Value = samplePassord };
var converter = FieldValueConversion.GetConverter(data.GetType());
var field = new DynamicModuleField { Data = data };
var rf = new Cell() { Data = converter.Serialize(field, new ConversionContext { Cell = new Cell() }) };
var retData = converter.Deserialize(rf);
Assert.IsNotNull(retData);
Assert.IsInstanceOfType(retData, typeof(Password));
var pwdResult = retData as Password;
Assert.AreNotEqual(pwdResult.Value, samplePassord);
var hash = new Hash(Hash.Provider.SHA1);
var hashData = hash.Calculate(new Data(samplePassord), new Data("|)0ver3ncrypt10n_k3y")).Base64;
Assert.AreEqual(pwdResult.Value, hashData);
}