草庐IT

北京大学肖臻老师《区块链技术与应用》ETH笔记 - 3.0 ETH数据结构篇

3.0ETH数据结构篇在以太坊中,有三棵树的说法,分别是状态树、收据树和交易树。了解了这三棵树,就弄清楚了以太坊的基础数据结构设计。而以太坊实现的是一个"平台性"的应用,其复杂性必然较高。因此,其内部数据结构设计也存在一定复杂度。对此,ETH数据结构篇将花费较多篇幅进行编写。3.1引入首先,我们要实现从账户地址到账户状态的映射。在以太坊中,账户地址为160位,表示为40个16进制数。状态包含了余额(balance)、交易次数(nonce),合约账户中还包含了code(代码)、存储(stroge)。直观地来看,其本质上为Key-value键值对,所以直观想法便用哈希表实现。若不考虑哈希碰撞,查询

北京大学肖臻老师《区块链技术与应用》ETH笔记 - 3.0 ETH数据结构篇

3.0ETH数据结构篇在以太坊中,有三棵树的说法,分别是状态树、收据树和交易树。了解了这三棵树,就弄清楚了以太坊的基础数据结构设计。而以太坊实现的是一个"平台性"的应用,其复杂性必然较高。因此,其内部数据结构设计也存在一定复杂度。对此,ETH数据结构篇将花费较多篇幅进行编写。3.1引入首先,我们要实现从账户地址到账户状态的映射。在以太坊中,账户地址为160位,表示为40个16进制数。状态包含了余额(balance)、交易次数(nonce),合约账户中还包含了code(代码)、存储(stroge)。直观地来看,其本质上为Key-value键值对,所以直观想法便用哈希表实现。若不考虑哈希碰撞,查询

北京智游科技(爱加密)-渗透测试实习生-2023-02-27

0x01、面试问题0.先做个简单的自我介绍吧1.php中命令执行、代码执行相关的函数有哪些?分别讲一讲2.sql注入的原理、分类?3.sql注入的绕过?简单讲一些4.ssrf了解吗?能造成哪些危害?对应的用到的协议有哪些?5.提权了解吗?讲一讲Windows环境下和Linux环境下你的一些提权思路吧?6.假如现在我们已经进入了后台,想利用XSS做一下持久化,你有什么思路吗?7.假如现在给你一个登录框,输入错误密码会显示密码错误或者用户不存在,你有什么利用思路?8.假如现在给你一个web网站,讲讲你觉得能获取shell的方式?9.有了解过WAF吗?说说你的一些测试、绕过思路?10.我看你在这之前

北京智游科技(爱加密)-渗透测试实习生-2023-02-27

0x01、面试问题0.先做个简单的自我介绍吧1.php中命令执行、代码执行相关的函数有哪些?分别讲一讲2.sql注入的原理、分类?3.sql注入的绕过?简单讲一些4.ssrf了解吗?能造成哪些危害?对应的用到的协议有哪些?5.提权了解吗?讲一讲Windows环境下和Linux环境下你的一些提权思路吧?6.假如现在我们已经进入了后台,想利用XSS做一下持久化,你有什么思路吗?7.假如现在给你一个登录框,输入错误密码会显示密码错误或者用户不存在,你有什么利用思路?8.假如现在给你一个web网站,讲讲你觉得能获取shell的方式?9.有了解过WAF吗?说说你的一些测试、绕过思路?10.我看你在这之前

北京思特奇2023年校招笔试(Java)

北京思特奇2023年校招笔试(Java)1、表达式(short)10/10.2*2运算后结果是什么类型?答案:double,浮点数默认是double,自动类型向上转换为浮点数类型2、serialVersionUID字段必须是什么类型?想了解这个字段的类型,首先要了解序列化和反序列化是什么?序列化:指将对象转换为字节序列的过程,也就是将对象的信息转换成文件保存。’反序列化:将字节序列转换成目标对象的过程,也就是读取文件,并转换为对象。serialVersionUID是用作Serializable类中的版本控件。JVM将根据您的Serializable类,在类进行序列化的时候自动生成一个seria

北京思特奇2023年校招笔试(Java)

北京思特奇2023年校招笔试(Java)1、表达式(short)10/10.2*2运算后结果是什么类型?答案:double,浮点数默认是double,自动类型向上转换为浮点数类型2、serialVersionUID字段必须是什么类型?想了解这个字段的类型,首先要了解序列化和反序列化是什么?序列化:指将对象转换为字节序列的过程,也就是将对象的信息转换成文件保存。’反序列化:将字节序列转换成目标对象的过程,也就是读取文件,并转换为对象。serialVersionUID是用作Serializable类中的版本控件。JVM将根据您的Serializable类,在类进行序列化的时候自动生成一个seria

go 神奇的错误 time.Now().Format("2006-01-02 13:04:05") 比北京时间大8小时

困倦的时候写了个个获取本地时间,打印总比当前时间大8小时,找了很久原因 packagemainimport("fmt""time")funcmain(){now:=time.Now()fmt.Println(now)fmt.Println("nowStr:",now.Format("2006-01-0213:04:05"))}输出2023-02-2315:40:49.9662692+0800CSTm=+0.003123801nowStr:2023-02-2323:40:49发现是东八区时间,但是格式化打印结果就大了8小时根因:小时格式化字符串,小时占位符应该是15,不是13,写成13自动被解读

go 神奇的错误 time.Now().Format("2006-01-02 13:04:05") 比北京时间大8小时

困倦的时候写了个个获取本地时间,打印总比当前时间大8小时,找了很久原因 packagemainimport("fmt""time")funcmain(){now:=time.Now()fmt.Println(now)fmt.Println("nowStr:",now.Format("2006-01-0213:04:05"))}输出2023-02-2315:40:49.9662692+0800CSTm=+0.003123801nowStr:2023-02-2323:40:49发现是东八区时间,但是格式化打印结果就大了8小时根因:小时格式化字符串,小时占位符应该是15,不是13,写成13自动被解读