写点什么

架构师训练营第 11 周课后练习

用户头像
菜青虫
关注
发布于: 2021 年 01 月 02 日

请用你熟悉的编程语言写一个用户密码验证函数,Boolean checkPW(String 用户 ID,String 密码明文,String 密码密文),返回密码是否正确 boolean 值,密码加密算法使用你认为合适的加密算法。


namespace Geektime.PasswordHash{    using System;    using System.Security.Cryptography;    using System.Text;
class Program { static void Main(string[] args) { var userId = "1234"; var passwordClearText = "P@ssw0rd"; var passowordHash = "zcTD9O+VRD5KgMK9xgY7jg==";
var isMatch = CheckPassword(userId, passwordClearText, passowordHash); Console.WriteLine(isMatch); }
static bool CheckPassword(string userId, string passwordClearText, string passwordHash) { var saltedPassword = $"{userId}:{passwordClearText}"; var hashAlgo = HashAlgorithm.Create("MD5"); var rawHash = hashAlgo.ComputeHash(Encoding.UTF8.GetBytes(saltedPassword)); var expectedHash = Convert.ToBase64String(rawHash); return passwordHash == expectedHash; } }}
复制代码


用户头像

菜青虫

关注

还未添加个人签名 2017.11.20 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第 11 周课后练习