写点什么

第 11 周

用户头像
上山砍柴
关注
发布于: 2020 年 08 月 26 日

一导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?

1应用实例不能支撑用户请求,2网络故障,3运营活动导致瞬间流量的高涨这些都可能导致系统不可用。

保障系统稳定的高可用方案有:负载均衡,限流、熔断、降级,备份与失效转移,异步多活等方法

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

package com.geek.pwd;
import java.math.BigInteger;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class PasswordCheck{
/**
* 验证密码,验证通过返回true
* @param userId
* @param originPwd
* @param encryptPwd
* @return
*/
public static boolean checkPwd(String userId, String originPwd, String encryptPwd){
return encrypt(userId + originPwd).equals(encryptPwd);
}
/**
* 密码生成算法
* @param str
* @return
*/
private static String encrypt(String str){
try {
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(str.getBytes(StandardCharsets.UTF_8));
byte[] result = md.digest();
return new BigInteger(1,result).toString(16);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}
}



用户头像

上山砍柴

关注

还未添加个人签名 2018.02.28 加入

还未添加个人简介

评论

发布
暂无评论
第11周