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加密,见下面链接:点击打开链接

时间: 2024-11-09 00:45:27

oracle函数参数中=>的含义的相关文章

Delphi 中 函数参数中的 const 修饰符的本质以及注意事项

来自:http://blog.csdn.net/farrellcn/article/details/9096787 ------------------------------------------------------------------------------ 很多书籍中说函数参数如果是String类型的,如果在函数内部不改变参数的值,使用 const 修饰符会加快程序的执行速度,至于如何加快的?有的人说是因为 const 函数保证了参数字符串不会被复制.以前也没有对这个问题深入研究

【C语言】函数参数中的const修饰符

  通常,字符串操作函数原型中,都会在形参前面加上const修饰符,表示此指针不能用于修改字符串的值   比如:char *strcpy(char *strDest, const char *strSrc)  但是可不可以通过 在函数里定义一个指针指向strSrc,来改掉字符串的值呢? 给出以下代码: #include <STDIO.H> #include<stdlib.h> void fuc(const char *p) { char *q = p; *q='b'; } int

Oracle函数-更新中

数值型函数 返回绝对值 abs(x) ABS(X) [功能]返回x的绝对值 [参数]x,数字型表达式 [返回]数字 SQL> select abs(100) , abs(-100) from dual ; ABS(100) ABS(-100) ---------- ---------- 100 100 返回正负值 sign(x) sign(x) [功能]返回x的正负值 [参数]x,数字型表达式 [返回]数字,若为正值返回1,负值返回-1,0返回0 SQL> select sign(100),

C++ 函数参数中“ *&amp;代表什么? ”

typedef struct BitNode  {      char value;      BitNode *lchild,*rchild;    }BitNode,*BiTree; void CreatTree(BitNode* &root,char *pre,int l1,int r1,char *in,int l2,int r2)  ; /*   *&代表什么?  //https://zhidao.baidu.com/question/2266744263935050308.ht

C++数组作为函数参数的几个问题(转)

本文需要解决C++中关于数组的2个问题:1. 数组作为函数参数,传值还是传址?2. 函数参数中的数组元素个数能否确定? 先看下面的代码. #include <iostream> using namespace std; void testArrayArg(int a[]) { cout << endl; cout << "in func..." << endl; cout << "array address: &qu

QGridLayout栅格布局函数参数设置

对于PyQt5的栅格布局函数,主要是实现多个控件之间的栅格布局形式,一般有两种设置方式: 1.Qdesigner布局设置时直接使用栅格布局函数,便可以把所需要布局的控件直接按照栅格方式来进行布局: 2.直接使用Python语言QGridLayout函数参数设置来进行对应的栅格布局,在Python语言直接进行栅格函数QGridLayout布局设置时,具体的函数参数将其含义如下所示: QGridLayout.addWidgets(控件对象,Rowindex.Columnindex,Row,Cloum

SetFocus (GetDlgItem (hwnd, idFocus))函数的各参数的具体含义

Setfocus(HWMD hwnd):将窗口hwnd设置成获得焦点 GetDlgItem (hwnd, idFocus):此函数返回一个句柄 具体参数的含义: hwnd:包含该窗口标志位的对话框的句柄 idFocus: 指定将被检索的控件标识符,可以通过idFocus= GetWindowLong (hwnd, GWL_ID)的方法获得. 注意: GetWindowLong (hwnd, GWL_ID)函数返回的是一个所需要的32位控件标识符. 说明在一个窗那个口中分布了许多子窗口但是在每次相

python中函数参数*args和**kw的区别

1.函数与参数(实参) 在python中创建函数是def,创建函数名是def f(),f函数名字,def f(a,b),这里的a,b是两个参数,函数名是自定义的,参数也是自定义,随意就好.看图如下效果: 这里f(1,2)是实参,然后调用上面的函数. 下面讲解下*args和**kw的区别. 2.*args 这里的*后面的值是自定义的,只要不是数字就行,定义成*abc,*ccc都可以,len()是函数,它的意思是返回字符串长度.然后前面的a,b是普通参数,print a print b就是回显1,2

Python中的函数参数

在讲函数参数之前还是简单的讲一下Python中的可变对象与不可变对象. 一.可变对象与不可变对象 在Python中,一切皆对象,python中不存在所谓的传值调用,一切传递的都是对象的引用,也可以认为是传址.所谓可变对象是指,对象的内容可变,而不可变对象是指对象内容不可变(即在其创建后,值不能改变,但可创建新的对象并以同一变量名对其赋值,而旧的对象会被清理掉,这在python里叫对象的垃圾收集).不可变(immutable):int.字符串(string).float.(数值型number).元