Skip to content

Latest commit

 

History

History
15 lines (12 loc) · 1.14 KB

File metadata and controls

15 lines (12 loc) · 1.14 KB

BCrypt algorithm

This library will implement BCrypt as a java procedure in Oracle RDBMS.

Story:
We faced a legacy DOS based application with plain text passwords. Our new platform was a Java, Spring, Oracle Web application.The spring-security were used, so we decided to implement BCrypt alghoritem in databse level, as it is the default password hashing method in spring-security. In data migrate process, due to large data amount and the nature of the algorithm (slow-hashing), our optimum solution was to implement hashing function inside RDBMS.

The library is using strength of 12 by default, so the number of iterations are (2^12).

The BCrypt algoritm is implemented by a Java stored procedure (bcrypt Algorithm.func), you will need to compile it inside Oracle database (tested on v9) then the procedure will be accessible through plsql (unitTest.sql)