【问题标题】:C# How to store a string in an array and convert it to it's Ascii valuesC#如何将字符串存储在数组中并将其转换为它的Ascii值
【发布时间】:2014-06-02 10:01:04
【问题描述】:

我是 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;
    }

【问题讨论】:

  • 再次阅读错误信息。 为什么有意义?现在,考虑一下所需步骤中的任务..
  • 请注意,如果这是为了实际使用(而不是学习),实现身份验证的正确方法是使用专家创建的系统(例如,Asp.Net Membership

标签: c# arrays ascii


【解决方案1】:

ASCII 是byte 数据,而不是int

byte[] bytes = Encoding.ASCII.GetBytes(password);

如果你真的必须有整数:

int[] bytes = Array.ConvertAll(Encoding.ASCII.GetBytes(password), b => (int)b);

请注意,如果 password 中的任何一个不是 ASCII,那么您将获得未定义的输出。例如,? 代替某些字符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-26
    • 2013-09-27
    • 2016-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    相关资源
    最近更新 更多