[英]Fail to display hash string in textbox using c# wpf
我在文本框中顯示MD5哈希結果時遇到問題。 使用命令行,代碼可以正常工作。 代碼如下所示:
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
textBox1.Text = GetMD5HashFromFile();
}
private static string GetMD5HashFromFile()
{
FileStream file = new FileStream(@"C:\Desktop\test.txt", FileMode.Open);
System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] retVal = md5.ComputeHash(file);
file.Close();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < retVal.Length; i++)
{
sb.Append(retVal[i].ToString("x2"));
}
return sb.ToString();
}
我想計算哈希並直接在文本框中顯示哈希字符串。 我的編程概念是否錯誤或缺少一些步驟? 謝謝!
當用戶在TextBox中輸入文本時(或由於其他任何原因更改了Text
屬性時),將調用TextChanged
事件處理程序。 將哈希字符串分配給Text
屬性的位置錯誤。
您可以將其放在其他位置,也可以放在按鈕單擊處理程序中:
<StackPanel>
<TextBox x:Name="textBox1"/>
<Button Content="Set Text" Click="ButtonClick"/>
</StackPanel>
private void ButtonClick(object sender, RoutedEventArgs e)
{
textBox1.Text = GetMD5HashFromFile();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.