情景:
新买了高科技宿舍神器,这个煲汤神器就用不着了,所以送出去啦。没错,是送。不用转发,只要你不嫌弃,就留个评论吧。如果有多个人要的话就只能抽奖啦。如果木有人要~可以当花盆栽花用恩~有时想想,我长的这瘦的实在不是我的错,一部分基因决定,一部分学校这伙食这烂得~虽刚来学校军训时还觉得好不错
<Window x:Class="Md5LuckyDraw.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<StackPanel>
<TextBox Name="txtCount" Text="评论+转发人数"></TextBox>
<TextBox Name="txtSalt" Text="Salt"></TextBox>
<TextBox Name="txtMd5" Text="这里显示MD5值"></TextBox>
<TextBox Name="txtNumber" Text="这里显示MD5值的所有数字顺序拼起来的数"></TextBox>
<TextBox Name="txtLucky" Text="这里显示获奖人"></TextBox>
<Button Name="btConfirm" Content="开始确定获奖人" Click="btConfirm_Click"></Button>
<TextBlock Text="作者:陈文哲 QQ296827066 技术博客:http://blog.csdn.net/wowkk"></TextBlock>
</StackPanel>
</Grid>
</Window>
后台:
private void btConfirm_Click(object sender, RoutedEventArgs e)
{
string str = txtCount.Text + txtSalt.Text;
string strmd5 = GetMD5(str);
txtMd5.Text = strmd5;
string strNumber = "";
foreach (char a in strmd5)
{
if (48 <= a && 57 >= a)
{
strNumber += a.ToString();
if (strNumber.Length > 18)
{
break;
}
}
}
List<string> listLuckyers = getText();
txtNumber.Text = strNumber;
long longNumber = long.Parse(strNumber);
int i = (int)(longNumber % listLuckyers.Count);
txtLucky.Text = listLuckyers[i].ToString();
}
private List<string> getText()
{
StreamReader sr = new StreamReader("Lucky.txt",Encoding.Default);
List<string> list =new List<string>();
string line;
while ((line = sr.ReadLine()) != null)
{
if (line != null)
{
list.Add(line);
}
}
return list;
}
public static string GetMD5(string sDataIn)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] bytValue, bytHash;
bytValue = System.Text.Encoding.UTF8.GetBytes(sDataIn);
bytHash = md5.ComputeHash(bytValue);
md5.Clear();
string sTemp = "";
for (int i = 0; i < bytHash.Length; i++)
{
sTemp += bytHash[i].ToString("X").PadLeft(2, '0');
}
return sTemp.ToLower();
}