我对C#很陌生,我试图创建安全登录。我想要做的是输入密码时,密码字符串将被放入一个大小为8的数组中,并且数组的每个字节都将转换为它的ASCII值并存储复制到阵列。
我遇到了错误等问题,例如"无法隐式转换类型' int'到' p []'"。
public int hasher(string password, string id)
{
int[] p = new int[8];
int[] a = new int[8];
p[] = System.Convert.ToInt32(password);
return 0;
}
答案 0 :(得分:5)
ASCII是byte
数据,而不是int
;
byte[] bytes = Encoding.ASCII.GetBytes(password);
如果你真的必须有整数:
int[] bytes = Array.ConvertAll(Encoding.ASCII.GetBytes(password), b => (int)b);
请注意,如果password
中的任何一个是非ASCII,那么您将获得未定义的输出。例如,?
代替某些字符。