Der RSA-Verschlüsselungsalgorithmus ist derzeit der einflussreichste Public-Key-Verschlüsselungsalgorithmus und kann der überwiegenden Mehrheit der bisher bekannten kryptografischen Angriffe widerstehen.
Welche Anwendungen bietet der RSA-Verschlüsselungsalgorithmus? Im Folgenden finden Sie ein Beispiel für die Datenbankauthentifizierung.
Bei Verwendung des Datensatzes zur Identitätsauthentifizierung wird das Passwort in der Datenbank gespeichert. Wenn das vom Benutzer bei der Authentifizierung eingegebene Passwort mit dem Passwort in der Datenbank übereinstimmt, wird die Authentifizierung bestanden Ist es geknackt, stellt es eine Gefahr für das System dar. Wie kann die Systemsicherheit gewährleistet werden? Hier können Sie den RSA-Verschlüsselungsalgorithmus anwenden, um Berechtigungen zu verschlüsseln.
Idee:
Wenn Sie den Benutzernamen und das Passwort in der URL übergeben, kehren Sie zuerst den Benutzernamen um und verschlüsseln ihn dann. Wenn das eingegebene Passwort beispielsweise 12 ist, wird der tatsächliche Wert im Hintergrund verschlüsselt ist 21, und überprüfen Sie es dann mit der Datenbank, um zu verhindern, dass die Datenbank geknackt wird und der Verschlüsselungscode von 21 angezeigt wird. Wenn Sie sich beim System anmelden, können Sie sich mit 21 nicht erfolgreich anmelden.
Nehmen Sie als Beispiel die Reporting-Software FineReport. Hierbei handelt es sich um eine Reporting-Software, die verschiedene Datenbanken auslesen kann und in Client- und Frontend-Anzeige unterteilt ist.
Implementierungsplan:
1. Platzieren Sie das für die RSA-Verschlüsselung verwendete Drittanbieterpaket im Ordner web-inf/lib des Projekts.
2. Rufen Sie die js-Datei auf
Wenn der RSA-Ordner für die Front-End-js verschlüsselt ist, muss die js-Datei aufgerufen werden, also Barrett.js, BigInt.js und RSA .js muss wie folgt im Projektverzeichnis abgelegt werden: WebReport/js, erstellen Sie einen neuen js-Ordner und legen Sie die js-Datei darin ab.
3. Definieren Sie die RSA-Verschlüsselungsklasse.
Definieren Sie zunächst die Methode „generateKeyPair()“ in der Klasse Laufwerk D und gespeicherter öffentlicher Schlüssel und geheimer Schlüssel. Diese Methode aktualisiert die TXT-Datei bei jedem Zugriff.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 |
|
4. Definieren Sie die Passwortüberprüfungsklasse
Definieren Sie die Passwortüberprüfungsklasse TestPasswordValidatorRSA.java
Definieren Sie eine Klasse mit dem Namen TestPasswordValidatorRSA.java, erweitern Sie sie von AbstractPasswordValidator und Umschreiben Unter anderem dreht die Methode zur Passwortüberprüfung encodePassword das eingegebene Passwort um, verschlüsselt es und gibt das Passwort zur Überprüfung zurück. Der spezifische Code lautet wie folgt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
5 >
Zuerst kompilieren Die RSAUtil.java-Klassendatei generiert die RSAKey.txt-Datei auf dem Laufwerk D des Servers, kompiliert dann die TestPasswordValidatorRSA.java-Klasse und fügt die kompilierte Klassendatei in das Projektprojekt web-inf/classes/com/ ein. fr/privilege-Ordner. 6. Login.jsp-Seiteneinstellungen Der Client fordert die Anmeldeseite an und generiert zufällig eine Zeichenfolge, die wie folgt als Schlüsselverschlüsselungskennwort verwendet wird:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
|