Iamlaosong
Today see a MD5 encryption problem, many languages have provided encryption functions, Oracle also provides MD5 encryption function, online search, encryption function is:
Dbms_obfuscation_toolkit. MD5 (input_string = ' abc ')
However, there is a "= =" symbol in its parameters, so what does this symbol mean?
There are two ways to respond to Oracle real-participation parameters:
1, one is the location method , and the object-oriented language parameter transmission is similar;
2, the other is "=" as a formal parameter corresponding, because the location of the method has a lack of constraints, such as a function has four parameters, but the third is can not pass (there is a default value), there is no way to position corresponding method, Oralce internal general Use this method for parameter transfer.
So the "= =" symbol in the above call means that the function has many parameters, the parameter variable input_string is assigned to ABC, and the other parameters are the default values.
MD5 is often used for password encryption, is an irreversible encryption (hashing) algorithm, can only be encrypted, can not be restored.
MD5 the results of encrypting with the same value are the same every time, so the MD5 result of the user's password can be saved in the database. When the user logs in, the login password after the MD5 and the database in the comparison, if the same will prove that the user entered the correct password.
The value of MD5 can collide (two different values have the same MD5 result), but the odds are very small. It should be noted that in order to ensure the correctness of the encryption results, note the different programming language string encoding type, about MD5 encryption, see the following link: Click to open the link
The meaning of = = in Oracle function parameters