oracle函数参数中=>的含义

作者:iamlaosong

今天看到一个MD5加密的问题,很多语言都提供了加密函数,oracle也提供MD5加密函数,网上搜了一下,加密函数是:

DBMS_OBFUSCATION_TOOLKIT.MD5(input_string =>‘abc‘) 

不过,其参数中出现了一个“=>”符号,那么这个符号到底什么意思呢?

oracle实参与形参有二种对应方式:

1、一种是位置方式,和面向对象语言参数传递类似;

2、另外一种是=> 作为形参对应,因为位置对应方法有缺限,比如一个函数有四个参数,但第三个是可以不传(有默认值),这里就没办法位置对应方法,oralce内部一般用此种方法作参数传递。

所以上面调用中“=>”符号的意思就是:该函数有很多参数,参数变量input_string赋值为abc,其它参数为默认值。

MD5常用于密码加密,是一种不可逆的加密(散列)算法,只能加密,不能还原。

MD5用同一值加密的结果每次都一样,所以可以将用户的密码的MD5结果保存在数据库中。当用户登录时,将登陆时的密码MD5之后和数据库中的进行比对,如果相同就证明用户输入的密码正确。

MD5的值是可以碰撞的(两个不同值的MD5结果相同),但几率非常小。需要注意的是,为了保证加密结果的正确性,要注意不同编程语言字符串的编码类型,关于MD5加密,见下面链接:点击打开链接

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。