Heim  >  Artikel  >  Backend-Entwicklung  >  mysql - Wie stellen PHP-binärverschlüsselte Daten die Eindeutigkeit der Daten sicher?

mysql - Wie stellen PHP-binärverschlüsselte Daten die Eindeutigkeit der Daten sicher?

WBOY
WBOYOriginal
2016-08-30 09:36:441229Durchsuche

Die sensiblen Benutzerdaten in der Unternehmensdatenbank müssen in binären Chiffretext verschlüsselt und im MySQL-Blob-Typ-Feld gespeichert werden. Jetzt finde ich, dass es schwierig ist, die Eindeutigkeit der Benutzerdaten sicherzustellen, da es sich anscheinend um einen Blob-Typ handelt Das Feld kann weder direkt logischen Operationen unterzogen werden, noch kann es den gesamten Chiffretext in der Tabelle auslesen, entschlüsseln und dann logische Operationen ausführen

Antwortinhalt:

Die sensiblen Benutzerdaten in der Unternehmensdatenbank müssen in binären Chiffretext verschlüsselt und im MySQL-Blob-Typ-Feld gespeichert werden. Jetzt finde ich, dass es schwierig ist, die Eindeutigkeit der Benutzerdaten sicherzustellen, da es sich anscheinend um einen Blob-Typ handelt Das Feld kann weder direkt logischen Operationen unterzogen werden, noch kann es den gesamten Chiffretext in der Tabelle auslesen, entschlüsseln und dann logische Operationen ausführen

Chiffretext MD5 basierend auf der Benutzer-ID zwischenspeichern

Ich denke, das sollte getan werden:

  1. Wenn Sie neue Daten hinzufügen, führen Sie vor der Verschlüsselung ein MD5-Hashing des Klartextes durch und speichern Sie dann den Hashwert (natürlich muss auch der verschlüsselte Blob gespeichert werden)

  2. Was die vorhandenen Daten betrifft, müssen Sie Zeit finden, alle MD5 zu entschlüsseln und dann den Hash-Wert zu speichern

Zur Bestimmung der Eindeutigkeit reicht es in der Regel aus, den Hashwert direkt zu ermitteln.

Es wird nicht empfohlen, MD5-Chiffretext zu verwenden – es sei denn, Sie können sicherstellen, dass dieselbe Klartextverschlüsselung immer denselben Chiffretext erzeugt. Allerdings wird der Chiffretext zumindest durch den Schlüssel beeinflusst. Nach dem Ändern des Schlüssels wird sich der Chiffretext definitiv ändern ... Darüber hinaus verfügen einige Verschlüsselungsmethoden selbst über zufällige Anfangsvektoren, und der verschlüsselte Chiffretext ist jedes Mal anders.

Direkte in MySQL integrierte Methode hex()

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn