簡體   English   中英

無法使用C#WPF在文本框中顯示哈希字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM