首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

过程(四)地址和

在VBA中实参可以通过两种方式数据传递给形参,分别为地址和,都是在创建通用过程定义变量时。 由于概念生硬不易理解,还是先说示例,再总结介绍。...然后调用jisuan过程,变量b作为实参按地址传递给变量a,进行计算a=a+1。此时再在立即窗口中显示变量b,就会发现它已经经过计算变成了3。...2、当形参定义为ByRef形式时,只有当实参为一个变量时,才能按地址方式传递参数,如果实参是一个表达式或者常量,则不能按地址方式传递。 二、 实参的作为一个副本,赋值给形参。...在jisuan过程,ByVal a As Integer为按实参传递给形参。 在diaoyong过程,先定义了整型变量b,给b赋初始为2。...然后调用jisuan过程,变量b作为实参按变量a,进行计算a=a+1。此时再在立即窗口中显示变量b,b的仍为2。

4.7K30

python基础四:函数

函数的参 def sum(a,b): result = a+b print(result) num1 = int(input("num1:")) num2 = int(input("num2...=0:返回None 返回数=1:返回object 返回数>1:返回tuple 全局变量与局部变量 wendu = 0 def get_wendu(): global wendu #使用..., ['a', 'b'], {'name': 'Poe', 'age': 18}) #args {'done': 89, 'task': 99} #kwargs **kwargs对应实参中带变量名的参...拆成44,55,66传递给形参,二个号的作用是字典拆包,拆成KEY=VALUE传递给形参,有多少个就拆成多少个 可变与不可变 python中除了数字,字符串,元组是不可变类型,其它的都是可变类型 可变类型在字典中不允许当作键...,因为字典的保存方法比较特殊,如: info = {"name":"Poe",100:"haha"} 在保存时会将键name哈希成一个,比如:12121212,再保存这个哈希与value 递归 def

58720
您找到你想要的搜索结果了吗?
是的
没有找到

哈希算法-如何防止隐私信息被「脱裤」

如果用户信息被明文泄露,用户的损失不堪设想,作为企业也陷入信息安全的舆论漩涡,丢失用户。 假如作为这些公司的程序员,你有什么办法防止数据库的信息被「脱裤」呢?...,那么就可以推断出密码是 12345,假如黑客常用的密码及其哈希维护一成一个字典(彩虹表),与获取的密码数据,很快就可以识别出哪些密码是常用的密码,仍然可以获取这部分用户的密码信息。...2、唯一性校验 现在各种网盘都有这样的功能,假如你上传的文件已经在他们的服务器上,就可以实现秒,如何判断你要的文件是已经存在了呢,就是通过哈希算法。...服务器上已经存储的文件按文件内容的二进制串生成啥希,获取用户上传的文件内容的哈希,对比已有的哈希,如果找到说明已经存在,真接链接到已存在的文件即可实现秒。...通过哈希算法,对客户端 IP 地址或者会话 ID 计算哈希取得的哈希与服务器列表的大小进行取模运算,最终得到的就是应该被路由到的服务器编号。

1.3K50

python 数据加密解密以及相关操作

HMAC是基于密钥的哈希算法认证协议,主要是利用哈希算法(如MD5, SHA1),以一个密钥和一个消息作为输入,生成一个消息摘要作为输出,因此其具体的算法名称为HMAC-MD5、HMAC-SHA1等。...,algorithms_guaranteed永远是它的子集。...--小写形式,可以直接传递给hashlib.new()函数来创建另外一个同类型的哈希对象。...3)获取输入信息对应的摘要: 调用已得到的哈希对象的digest()方法或hexdigest()方法即可得到传递给update()方法的字符串参数的摘要信息。...当用户发起登录请求时,我们按照相同的哈希算法获取用户发送的密码的摘要信息,与数据中存放的与该账号对应的密码摘要信息做比对,两者一致则验证成功。

1.8K10

如何PWN掉西门子工控设备

经过逆向发现可使用静态密钥对管理密码进行可逆加密,并使用不同的密钥对用户密码进行可逆加密。 以下是我们找到静态密钥的方法。 ? 研究开始于配置文件,密码看起来很不寻常,似乎不是单向哈希。...密码很短小,长度取决于密码大小,并会被填充至8个字符。这意味着使用的是分组密码进行加密。 其中用于测试的64位大小的密码表明利用DES或Blowfish作为加密算法。...可以通过标识传递给寄存器r1的来跟踪用于blowfish的加密密钥。寄存器r0包含“ctx”变量,r1包含密钥,r2包含密钥的长度。...在这种情况下,我们无法通过静态分析来识别用户密码的加密方法。 我们购买了scalance交换机,在主板上识别出jtag,头部焊接上,并将其连接到segger j-link jtag调试器。 ?...由此,可以通过在调用函数时检查寄存器设置来标识加密所使用的确切变量

1.1K00

c语言基础知识帮助理解(详解函数)

函数参数 4.1实际参数(实参) 函数的实际参数是在函数调用时传递给函数的。实际参数可以是常量、变量、表达式或其他函数的返回。实际参数的被传递给函数的形式参数,从而在函数内部使用。...在main()函数中,我们声明了两个整数变量x和y,并将它们作为实际参数传递给printSum()函数。在printSum()函数内部,形式参数a和b接收到相应的,并计算它们的和。...,实际参数的复制给形式参数,二者的地址是不同的,即函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参 5.2址调用 (传递地址) 址调用是把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式...在main()函数中,我们声明了两个整数变量x和y,并将它们作为实际参数传递给add()函数。add()函数返回x + y的结果,然后这个结果作为实际参数传递给multiply()函数。...最后,multiply()函数返回result * y的结果,这个结果被赋值给变量result 6.2 链式访问 把一个函数的返回作为另外一个函数的参数 printf("%d", printf

9210

Java岗大厂面试百日冲刺【Day53】— 基础篇4 (日积月累,每日三题)

除此之外还有一个 hash 成员变量,是该 String 对象的哈希的缓存,这个成员变量也和本文的讨论无关。在Java中,数组也是对象。 所以 value 也只是一个引用,它指向一个真正的数组对象。...例如,如果一段代码 String “Test” 的值更改为 “TEST”,则所有其他客户也看到该。...如果在插入后修改了 String 的内容,可变的 String将在插入和检索时生成两个不同的哈希码,可能会丢失 Map 中的对象。   ...2、字符串已被广泛用作许多 Java 类的参数,例如,为了打开网络连接,你可以主机名和端口号作为字符串传递,你可以数据库 URL 作为字符串传递, 以打开数据库连接,你可以通过文件名作为参数传递给...在这里,我们探讨为什么你应该使用char[]存储密码而不是String的一些原因。 1、由于字符串在 Java 中是不可变的,如果你密码存储为纯文本,它将在内存中可用,直到垃圾收集器清除它.

36220

指针变量

在main函数中,定义了指针pInt,调用func函数,把pInt作为参数传入func函数中。结果*pInt并不是 12。...原因:在func函数调用过程中,形参和实参的传递使用了传递方式,这种情况下,形参变量在函数体内发生了变化,在函数结束之后,形参变量随之释放,不能把变化的结果返回给实参。...、引用区别和联系 :实参拷贝传递给形参。...地址:把实参地址的拷贝传递给形参。就是把实参的地址复制给形参。...无论还是指针,函数都会生成一个临时变量,但引用时,不会生成临时变量时,只可以引用而不可以改变,但引用时,可以改变指针时,只可以改变指针所指的内容,不可以改变指针本身,但指针引用时

2K30

参、指针参、引用参区别

在C中,我们只了解到有两种参方式,一种是传递,另外一种是传递指针,一般情况下我们选择使用指针传递参数。在C++中,又新增了一种参方式,那就是引用(type &),引用参给我们带来了更好的体验。...而且在函数生命周期结束后,会随函数一起消失,如不作为返回是无法传出的。...并且在函数内部还可以通过指针修改指针指向地址中的数据以作为传出数据的作用。 3、引用传递 引用作为一个变量的别名,相当于一段内存的引用。...在传递给函数时相当于包装了原变量指针的地址传递给函数,可以理解为在函数中直接使用原变量进行操作,而且这个期间不会出现拷贝的行为。引用的本质是指针,C++对裸露的内存地址(指针)作了一次包装。...#include using namespace std; // 传递,无法交换变量 // 另外注意:传递和引用传递函数重载时会出现二义性 // 程序不知道该重载哪个函数来使用。

16440

python入门到放弃-函数专题

,就是参数 #参数包括:形参,实参,参 形参:函数声明的位置的变量 实参:函数调用的时候给的具体的 参:把实参交给形参的过程 #相关参数具体位置例子 #形参和实参的位置 # def wan(形参)...,给形参 2.关键字参数:按照形参的名字给形参 3.混合参数:即用位置参数,也用关键字参数 #实参操作的例子: # 1、位置参数,按照形参的位置,给形参 #例子 # def...,但是一个特殊的变量,与括号配合可以执行函数的变量 #函数名的相关操作 1.函数名可以赋值给其他变量 2.函数名可以作为参数列表中的元素进行存储,作容器类的元素 3.函数名可以作为参数传递给函数 4.函数名可以作为函数的返回...# def func3(): # print("哈哈") # # lst = [func1,func2,func3] # for i in lst: # i() # 4.函数名可以作为参数传递给函数...参数传递给proxy,然后变成proxy(my),然后调用my() #接着打印"我是my" #函数名可以作为参数进行传递(多层嵌套) # def func(): # print("我是

1.7K30

指针变量

在main函数中,定义了指针pInt,调用func函数,把pInt作为参数传入func函数中。结果*pInt并不是 12。...原因:在func函数调用过程中,形参和实参的传递使用了传递方式,这种情况下,形参变量在函数体内发生了变化,在函数结束之后,形参变量随之释放,不能把变化的结果返回给实参。...、引用区别和联系 :实参拷贝传递给形参。...地址:把实参地址的拷贝传递给形参。就是把实参的地址复制给形参。...无论还是指针,函数都会生成一个临时变量,但引用时,不会生成临时变量时,只可以引用而不可以改变,但引用时,可以改变指针时,只可以改变指针所指的内容,不可以改变指针本身,但指针引用时

2.7K40

nginx下载防盗链-技术精短文

secure link 防盗链原理 用户访问down.php down.php根据secret密钥、过期时间、文件uri生成加密串 加密串与过期时间作为参数跟到文件下载地址的后面 nginx下载服务器接收到了过期时间...,也使用过期时间、配置里密钥、文件uri生成加密串 将用户进来的加密串与自己生成的加密串进行对比,一致允许下载,不一致403 整个过程实际上很简单,类似于用户密码验证....secure_link 语法: secure_link md5_hash[,expiration_time] 默认: none 配置段: location variables: yes 这个指令由uri中的MD5哈希和过期时间组成...默认: none 配置段: location variables: yes md5对比结果,使用上面提供的uri、密钥、过期时间生成md5哈希.如果它生成的md5哈希与用户提交过来的哈希一致,...那么这个变量为1,否则为0 secure_link_secret 语法: secure_link_secret word 默认: 配置段: location Reference:

53820

结构体作为函数的参数

1.传递结构体成员 > 只要结构体成员是一个具有单个的数据类型,便可把它作为参数传递给接受该特定类型的函数。 > 使用这种方式为函数传递参数与普通变量作为参数相同,都是以的方式传递的。...2.传递结构体 > 使用结构体变量作为函数的参数时,也是的,会将结构体变量的全部内存单元的内容拷贝一份传递给被调函数。被调函数的形参也必须是同类型的结构体类型。...title[50]; char author[50]; }Shot; void modify(struct book stdata); modify(Shot); 3.传递结构体地址 > 在的过程中...> 需要注意的是,结构体变量名与数组变量名不同,结构体变量名不是它的地址。...); close(fd); return 0; } > 在被调函数modify中,要使用指向运算符->访问结构体成员或者使用括号,因为他的参数是一个结构体指针 > 实参还有第二种写法,实参直接定义为结构体指针

2.1K10

【C语言】指针进阶之调用与址调用

✔在编程语言如C中,调用和址调用是用来传递参数给函数的方法。它们的主要区别在于参数传递的方式: ☞调用:这是最基本的参数传递方式,它涉及参数的复制一份传递给函数。...在函数内部,对这些复制的进行的任何修改都不会影响到原参数的,因为函数只是在自己的局部范围内操作这个副本。 ☞址调用:这种方式则是参数的地址传递给函数。... printf("交换后:a=%d b=%d\n", a, b);  return 0; } ⾸先看输出结果:  我们可以看到实现成Swap2的⽅式,顺利完成了任务,这⾥调⽤Swap2函数的时候是变量的地址传递给了函数...✔址调⽤,可以让函数和主调函数之间建⽴真正的联系,在函数内部可以修改主调函数中的变量; 4.结论 所以未来函数中只是需要主调函数中的变量值来实现计算,就可以采⽤调⽤。...如果函数内部要修改主调函数中的变量,就需要址调⽤。

7110

C语言基础知识总结

2)参数的传递的过程 实参的拷贝一份放到函数形参中 3)函数参有三种参方式:址、引用 1°按传递 (1)形参和实参各占一个独立的存储空间。...(2)形参的存储空间是函数被调用时才分配的,调用开始,系统为形参开辟一个临时的存储区,然后各实参传递给形参,这是形参就得到了实参的。...引用为实参的别名,和实参是同一个变量,则他们的也相同,该引用改变则它的实参也改变。...2)实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的 。 3)实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配的错误。...不会的尽量自己思考,百度查,从开始到现在我没有去问过别人代码,有时候有思路没能力实现,就回去查这些东西怎么才能办到,就拿上一篇hash那个题来讲,我最早想到的是哈希算法,我想如果字符转化为数字,根据数字来存储到数组内

92220

Python3 加密解密技术详解

当然,Python也支持 adler32 以及 crc32 哈希函数,不过它们在 zlib 模块中。 哈希的最常见的用法是,存储密码哈希而非密码本身。...这时候使用哈希函数需要稳健一点,否则容易被破解。 另一个常见的用法是,计算一个文件的哈希,然后这个文件和它的哈希分别发送。...它是 PKCS#5的基于口令的第二个密钥导出函数,并使用 HMAC 作为伪随机函数。 由于它支持“加盐salt”和迭代操作,你可以使用类似的方法来哈希你的密码。...示例步骤如下: 密钥变量设置为 8 个字符(DES 加密使用的密钥长度为 8 个字节) 创建一个函数pad,来给一个字符串末尾填充空格,直到它的长度是 8 的倍数 创建一个 DES 的实例、需要加密的文本...使用这个密钥生成 Fernet 密码 现在我们有了用来加密和解密消息的密码 创建一个消息,然后使用 encrypt 方法对它加密 输出出加密的文本 调用 decrypt 方法,并传入加密的文本作为参数

3.2K50

等保2.0标准个人解读(二):安全通信网络

Tip:完整性-哈希校验 哈希是一种不可逆的映射,可以数据经过哈希算法计算得到一个哈希,而无法再将该哈希反映射得到原始的数据。...数据完整性校验 数据完整性校验一般使用哈希算法和密钥对数据进行哈希得到数据的一个哈希,然后将该哈希和数据一块发送给对方,对方收到数据之后,对数据使用相同的哈希算法和密钥进行哈希得到哈希,如果得到的哈希和对方发过来的相同...,对数据进行哈希,得到的哈希就是窃听者发过来的那个哈希。...应用层数据不再直接传递给传输层,而是传递给SSL层,SSL层对从应用层收到的数据进行加密,并增加自己的 SSL头。...网站接收浏览器发来的数据之后要做以下的操作: a) 使用自己的私钥信息解密取出密码,使用密码解密浏览器发来的握手消息,并验证HASH是否与浏览器发来的一致。

2.7K20

MySQL管理——密码安全

蛮力破解算法:通过使用不同的哈希算法字符进行组合,以匹配密码使用的算法 字典攻击:使用字典中的字符执行哈希操作,当用户使用安全性不高的密码时,该方法能够快速推导出密码 彩虹表:由重复哈希和简化密码的长链中的第一个和最后一个哈希组成...组件安装成功后,该组件提供几个变量,通过对变量进行设置,以达到不同级别的密码安全要求。...validate_password.policy:强制开启验证密码,默认为1(MEDIUM),检查密码的长度、数字、小写/大写和特殊字符。...如果设置为2(STRONG)需要额外检查字典文件(与字典中的字符匹配无法作为密码使用),并需要通过"validate_password.dictionary_file“变量指定字典文件。...= 12; 也可以变量值写入配置文件,持久化保存。

17410

Python - 可变和不可变对象

前置知识 在 Python 中,一切皆为对象 Python 中不存在传递,一切传递的都是对象的引用,也可以认为是址 有哪些可变对象,哪些不可变对象?...可变对象:改变对象内容,对象在内存中的地址不会被改变 不可变对象:改变对象内容,对象在内存中的地址会被改变;如果必须存储一个不同的,则必须创建新的对象 不可变对象的应用场景 它们在需要常量哈希的地方起着重要作用...,例如作为字典中的键 从内存角度出发说下有什么区别?...原理 因为数字(int、float) 是不可变对象,所以不能在 123 的内存地址上直接修改数据 加法赋值,实际上是原来的 123 复制了一份到新的内存地址,然后再做加法,得到一个新的 125,最后...),当然也是一样的啦 Python 函数的参数传递 这里先提前讲下函数的入门,因为参数传递是个挺重要的点 概念 开头有讲到,Python 的一切传递都是对象的引用,函数参数传递也不例外 当传递给函数的是一个变量

1.2K40
领券