第 11 周
一导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?
1应用实例不能支撑用户请求,2网络故障,3运营活动导致瞬间流量的高涨这些都可能导致系统不可用。
保障系统稳定的高可用方案有:负载均衡,限流、熔断、降级,备份与失效转移,异步多活等方法
二请用你熟悉的编程语言写一个用户密码验证函数,Boolean checkPW(String 用户 ID,String 密码明文,String 密码密文)返回密码是否正确 boolean 值,密码加密算法使用你认为合适的加密算法。
一导致系统不可用的原因有哪些?保障系统稳定高可用的方案有哪些?
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 加入
还未添加个人简介
促进软件开发及相关领域知识与创新的传播
评论