머리말
우리의 발전에서 우리는이 기능을 고려해야합니다. 사용자가 자신의 암호를 잊어 버리면 인스턴트 메시징, SMS, WeChat 등을 통해 6 자리 무작위 비밀번호를 동적으로 보내야합니다. 동시에 데이터베이스의 원래 비밀번호는 이러한 6 자리 무작위 비밀번호로 수정됩니다. 사용자가 암호를 다시 변경하도록하십시오.
동시에 데이터베이스의 비밀번호는 암호 텍스트로 저장되어야하므로 MD5 암호화가 필요합니다. 생성 된 6 자리 랜덤 비밀번호는 기밀로 유지해야하며 전경에서 처리 할 수는 없지만 백엔드에만 배치 할 수 있습니다. 그래서 나는 그것을 제어 레이어에 넣기로 결정했습니다.
샘플 코드
// 암호화에 대한 암호화를 위해 암호화 해야하는 모든 텍스트에서 일시 중지 공개 정적 문자열 getMd5 (String String) {try {messageDigest md = messageDigest.getInstance ( "md5"); md.update (String.getBytes); 바이트 해시 = md.Digest; StringBuffer SB = New StringBuffer; int i = 0; for (int offset = 0; 오프셋 <hash.length; 오프셋 ++) {i = hash [오프셋]; if (i <0) {i += 256; } if (i <16) {sb.append ( "0"); } sb.append (Integer.toHexString (i)); } 반환 sb.tostring; } catch (nosuchalgorithmexception e) {새로운 runtimeexception (e); }}여기에는 32 비트 암호화가 있으며 16 비트와 32 비트의 차이는 16 비트가 32 비트 중간에서 16 비트라는 것입니다.
String password_ = string.valueof ((int) (Math.Random * 10000000); if (empservice.updateemppassword (emp_id_, baseutils.getmd5 (password_), operator) == 0) {throw new runtimeexception ( "랜덤 비밀번호 생성 실패!"); } string XELE = "<SendMessage> <am_name>" + emp_code_ + "</am_name> <phonenum> </phonenum> <userid> </userid> <messagetxt> 공식 문서 관리 시스템의 새 비밀번호는" + password_ + "</messagetxt> 공식 SystemName> <typename> <type> instant입니다. PASS </type> <cacce> </access> <email> </email> <isback> </isback> <isencrypt> </isencrypt> </ispriority> </ispriority> <ohter1> </ohter1> <ohter2> </sendmessage> <br/> ";그런 다음 인스턴트 네트워크 예약 인터페이스를 호출하십시오
instancemsgservice.amtomessifcheck (xele, null, 연산자);
참고 : 주로 Java 백엔드에서 MD5 암호화를 사용하는 방법에 따라 다릅니다! !
결론
위의 것은 Java 백엔드에서 MD5 암호화 방법을 구현하는 것입니다. 이 기사가 모든 사람이 Java를 배우는 데 도움이되기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다. wulin.com을 지원 해주셔서 감사합니다.