我正在研究加密MD5,我在谷歌找到了这个代码
public string CalculateMD5Hash(string input)
{
// Primeiro passo, calcular o MD5 hash a partir da string
MD5 md5 = System.Security.Cryptography.MD5.Create();
byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
byte[] hash = md5.ComputeHash(inputBytes);
// Segundo passo, converter o array de bytes em uma string haxadecimal
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hash.Length; i++)
{
sb.Append(hash[i].ToString("X2"));
}
return sb.ToString();
}
Run Code Online (Sandbox Code Playgroud)
但为什么它使用ToString("X2")?ToString正常有什么区别?
我在visual studio中有一个颜色对话框,我目前正在使用这个c#代码显示颜色对话框并将颜色设置为面板:
private void ColorButton_Click(object sender, EventArgs e)
{
if (colorDialog1.ShowDialog() == DialogResult.OK)
{
ColorPanel.BackColor = colorDialog1.Color;
}
}
Run Code Online (Sandbox Code Playgroud)
如何将标签设置为颜色选择器的十六进制颜色代码?
我想在我的Windows 8移动应用程序中从Web颜色值设置边框背景颜色.
我找到了一种方法将十六进制转换为Argb,但它不适用于我..
private System.Windows.Media.Color FromHex(string hex)
{
string colorcode = hex;
int argb = Int32.Parse(colorcode.Replace("#", ""), System.Globalization.NumberStyles.HexNumber);
return System.Windows.Media.Color.FromArgb((byte)((argb & -16777216) >> 0x18),
(byte)((argb & 0xff0000) >> 0x10),
(byte)((argb & 0xff00) >> 8),
(byte)(argb & 0xff));
}
Run Code Online (Sandbox Code Playgroud)
我正在使用上面的方法..
Border borderCell = new Border();
var col = FromHex("#DD4AA3");
var color =new System.Windows.Media.SolidColorBrush(col);
borderCell.Background = color;
Run Code Online (Sandbox Code Playgroud)
但是,如果我传递颜色十六进制值如下
var col = FromHex("#FFEEDDCC");
Run Code Online (Sandbox Code Playgroud)
它的工作正常,但它不适用于我的十六进制颜色值.
在发布这个问题之前,我通过这个堆栈答案. 如何使用.NET从十六进制颜色代码中获取颜色?
我编写了一个程序来从 ColorDialogBox 获取颜色,并使用 ColorTranslator.ToHtml 将其转换为十六进制值,但它不返回十六进制值,而是返回纯色名称。有任何解决这个问题的方法吗 ?
这是我的代码:
private void chooseClr_Click(object sender, EventArgs e) {
colorDialog1.ShowDialog();
Color checking = colorDialog1.Color;
string hexColor = ColorTranslator.ToHtml(checking);
MessageBox.Show(hexColor);
}
Run Code Online (Sandbox Code Playgroud) 我正在制作一个系统,其中包括使用"colorDialog"选择颜色并将其显示在文本框中.问题是其他颜色显示十六进制值(如ffff8000).如何将其更改为可读文本?
我有这个解决方案:
private string changeColortoReadable(string changedColor){
if(colorDialog.Color.Name == "ffff8000"){
changedColor = "Orange";
}
return changedColor;
}
Run Code Online (Sandbox Code Playgroud)
我把所有的十六进制颜色转换成可读的颜色对我来说有点累和耗时.