Vorwort
In unserer Entwicklung müssen wir diese Funktion berücksichtigen. Wenn der Benutzer sein Passwort vergisst, müssen wir ihm dynamisch ein 6-stelliges zufälliges Passwort über Instant Messaging, SMS, WeChat usw. senden. Gleichzeitig wird das ursprüngliche Kennwort in der Datenbank auf diese 6-stelligen zufälligen Passwörter geändert. Lassen Sie den Benutzer das Passwort erneut ändern.
Gleichzeitig muss das Kennwort in der Datenbank als Ciphertext gespeichert werden, sodass eine MD5 -Verschlüsselung erforderlich ist. Das generierte 6-stellige zufällige Passwort muss vertraulich gehalten werden und kann nicht im Vordergrund verarbeitet werden, kann jedoch nur im Backend platziert werden. Also habe ich mich entschlossen, es in die Kontrollschicht zu setzen
Beispielcode
// Pause in jedem Text, der für die Verschlüsselung für die Verschlüsselung der öffentlichen statischen String getMd5 (String String) {try {MessagedIGest md = MessagedIGest.getInstance ("Md5"); Md.Update (string.getBytes); Byte Hash = Md.Digest; StringBuffer sb = new StringBuffer; int i = 0; für (int offset = 0; offset <hash.length; offset ++) {i = hash [offset]; if (i <0) {i += 256; } if (i <16) {sb.append ("0"); } SB.Append (Integer.tohexString (i)); } return sb.toString; } catch (nosuchalgorithmException e) {neue runimeexception (e) werfen; }}Hier ist die 32-Bit-Verschlüsselung, und die Differenz zwischen 16-Bit und 32-Bit besteht darin, dass der 16-Bit in der Mitte des 32-Bit-Mitte der 16-Bit ist.
String password_ = string.Valueof ((int) (math.random * 1000000)); if (EmpService.UpdateEmppassword (emp_id_, baseUtils.getMd5 (password_), operator) == 0) {neue RunTimeException werfen ("Zufällige Kennwortgenerierung fehlgeschlagen!"); } String xele = "<sendMessage> <am_name>" + emp_code_ + "</am_name> <phoneNum> </phoneNum> <userId> </userId> <messagetxt> Das neue Kennwort für Ihr offizielles Dokumentenverwaltungssystem ist:" + kennwort_ + "</messAnname> <systemname> offizielles Dokumentverwaltungssystem </systemname> </messing -teAnname> </systemname> offizielles Dokumentverwaltungssystem. Pass </type> <Access> </access> <email> </E -Mail> <sback> </isback> <scrypt> </iscrypt> <isspriority> </isspriority> <ohter1> </ohter1> <ohter2> </ohter2> </sendMessage> </> ";Rufen Sie dann die sofortige Netzwerkreserved -Schnittstelle an
InstANCEMSGService.amtomessifcheck (Xele, Null, Operator);
Hinweis: Es hängt hauptsächlich davon ab, wie die MD5 -Verschlüsselung im Java -Backend verwendet wird! !
Abschluss
Bei der oben genannten Implementierung der MD5 -Verschlüsselungsmethoden im Java -Backend. Ich hoffe, dieser Artikel wird für alle hilfreich sein, Java zu lernen. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung für Wulin.com.