sql >> Database >  >> RDS >> Oracle

Wachtwoord versleutelen/ontsleutelen in Oracle Function

Als u uw eigen functies wilt schrijven om gegevens te coderen en te decoderen, kunt u eenvoudigweg de DBMS_CRYPTO encrypt en decrypt methoden met de juiste parameters (d.w.z. kies uw coderingsalgoritme, uw sleutel, enz.).

Natuurlijk, als je je eigen routines schrijft, ervan uitgaande dat je de sleutel opslaat in de database of ergens waar de database toegang heeft, doe je niet veel voor de veiligheid. Het is slecht om wachtwoorden onversleuteld over het netwerk te verzenden, maar het is over het algemeen veel erger om onversleutelde wachtwoorden op te slaan in de database (of versleutelde wachtwoorden als er een decrypt is methode in de database die toegang heeft tot de sleutel om de gegevens te decoderen). Het is over het algemeen een stuk eenvoudiger om gegevens uit een database te stelen dan om gegevens te snuiven die via het netwerk worden verzonden om een ​​wachtwoord te vinden.

Het juiste antwoord zou natuurlijk zijn om het systeem opnieuw te ontwerpen, zodat u de wachtwoorden helemaal niet opslaat. U moet wachtwoord-hashes opslaan (die u ook kunt genereren met de DBMS_CRYPTO pakket) die niet omkeerbaar zijn.



  1. PostgreSQL via subsonic

  2. Oracle - sql_text afgekapt tot 20 tekens voor CREATE/ALTER/GRANT-statements?

  3. Installeer PHP met Postgresql op MAC met behulp van homebrew

  4. Hoe doe je versiebeheer in Nhibernate?