c#初学者错误-“并非所有代码路径都返回值”

本文关键字:代码 路径 返回值 错误 初学者 | 更新日期: 2023-09-27 18:14:29

在学校学习c#时,我们需要制作一个用户名-密码系统,为了一些额外的点,我想使用MD5加密,但经过一些研究,我发现通常的MD5代码很容易破译。我想让它更难一点所以我想在将要加密的字符串的开始和结束处添加一些字符串。问题是,我得到"不是所有的代码路径返回一个值",不知道如何修复它。(很抱歉我提了一个新手问题)MD5部分工作,但我不知道为什么加密部分不能。

private string encrypt(string toEncrypt)
    {
        string step1 = MD5(toEncrypt + "example");
        string step2 = MD5("example" + step1);
        string final = MD5("example" + step2 + "example");
    }
public string MD5(string input)
    {
        //use string hash = MD5('STRING');
        //to call md5 encryption
        MD5 md5 = System.Security.Cryptography.MD5.Create();
        byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
        byte[] hash = md5.ComputeHash(inputBytes);
        StringBuilder sb = new StringBuilder();
        for(int i=0; i < hash.Length; i++)
        {
            sb.Append(hash[i].ToString("x2"));
        }
        return sb.ToString();
    }

c#初学者错误-“并非所有代码路径都返回值”

您忘记返回最后一个字符串了。

private string encrypt(string toEncrypt)
{
    string step1 = MD5(toEncrypt + "example");
    string step2 = MD5("example" + step1);
    string final = MD5("example" + step2 + "example");
    return final;
}

encrypt方法中,必须返回最终字符串。

return final;