数据库中保存用户密码,不能用明文保存,需要在后端进行加密,再写入数据库。最开始使用 Java 自带的加密算法,
MD5Encoder.encode(password.getBytes());
发现最后得到的 String 类型的字符串为 null。解决办法是引入 commons-codec 包,利用其 BASE64 算法进行加密。
1 <dependency> 2 <groupId>commons-codec</groupId> 3 <artifactId>commons-codec</artifactId> 4 <version>1.12</version> 5 </dependency>
1 //密码加密 2 private String EncodeByBase64(String str) { 3 //确定计算方法 4 try { 5 String s = new String(Base64.encodeBase64(str.getBytes("UTF-8")) ); 6 return s; 7 } catch (UnsupportedEncodingException ex) { 8 ex.getStackTrace(); 9 } 10 return null; 11 }