数据库sql查询速成
先来看order by1SELECT Company, OrderNumber FROM Orders ORDER BY Company
表示按照company字段的字母来排序。
也可以用其他字段来排序比如
1SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber
就是先按company,然后按Ordernumber。
再来看insert语句向表中插入新的行
1INSERT INTO 表 VALUES(值1,2,3..);
也可以指定插入数据的列
1INSERT INTO table_name (列1 ,2) VALUES (值1,2)
举例:
1INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')
即向表Persons中的4个列分别赋上述值。
我们也可以指定列插入值:
1INSERT INTO Persons (LastName, ...
python实现http代理(可加载css等全部效果)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091import socketimport threadingimport timeclass Proxy: def __init__(self): # 我们要设置一个初始套接字等待客户端的连 self.client_addr = None self.recv_client = None self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 代表基于IP地址的TCP套接字连接。 self.client_socket.setsockopt(socket.SOL_SOCKET, socket.SO_ ...
python实现http代理(含转发功能)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106import reimport socketimport _threadimport osimport reimport os.pathclass Proxy: def __init__(self): # 我们要设置一个初始套接字等待客户端的连 self.recv_client = None self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 代表基于IP地址的TCP套接字连接。 self.client_socket.setsoc ...
汇编语言学习(六)exe的制作
我们现在开始编写程序并生成exe。
它的过程主要分为两步:1.编写汇编源程序。2.对源程序进行编译连接。连接生成的exe为windows系统下的可执行文件,可执行文件包含两部分内容:程序(汇编指令翻译过来的机器码)和数据(源程序中定义的数据),相关的描述信息(占用内存等)。
3.执行可执行文件中的程序。先进行相关初始化,比如调整CS:IP指针的位置,让CPU开始执行。
源程序程序示例:1234567891011assume cs:codesgcodesg segment mov ax,0123h mov bx,0456h add ax,bx add ax,ax mov ax,4c00h int 21hcodesg endsend
1.伪指令指令分为汇编指令和伪指令,伪指令由编译器执行,汇编指令翻译成机器码由CPU执行。
segment和ends是一对成对的伪指令,功能是定义一个段。segment表示段开始,ends表示段结束。
而定义的方式也很形象,段名 + segment,如代码中所示,第二行即为开始。
一个有意义的汇编程序至少要有一个段,用来存放代码。
最后一行的e ...
crypto基础:数论(一)群环域的引入
今天开始,我将我掌握的数论内容,经过大脑的排版,以通俗易懂的方式记下。
环的引入Definition我们先从以环定义一个集合
\mathbb{Z}/m\mathbb{Z} = \{0,1,2,3,...,m-1 \}我们把这个符号称作模m的环。
很形象的理解,环嘛,就是转一圈。有限制的,到m-1就回来了。我们将环中的任意元素相加,相乘,结果再模m就会得到我们环中的元素,这就是说,怎样都无法出圈了。
如图:
\begin{tabular}{|c|c|c|c|c|c|}
\hline
+ & 0 & 1 & 2 & 3 & 4\\
\hline
0 & 0 & 1 & 2 & 3 & 4\\
\hline
1 & 1 & 2 & 3 & 4 & 0\\
\hline
2 & 2 & 3 & 4 & 0 & 1\\
\hline
3 & 3 & 4 & 0 & 1 & 2\\
\hline
4 & 4 & 0 & 1 & 2 & 3\\
\hline
\end{tabular}表格中是一个模5的环$\mathbb{Z}/5\mathbb{Z}$
并且给出了全部的加法和乘法模5之后的结 ...
在银河麒麟系统QEMU上运行RISC-V64位版本的Linux
镜像选择首先我们要安装kylin操作系统,这里我的镜像是
1Kylin-Desktop-V10-SP1-Release-hwe-2107-x86_64.iso
可以去google搜索并下载,此镜像为较新版本,下面就是VMWARE虚拟机装在镜像安装系统的过程,
基本配置基本操作不再强调,默认配置结束后,打开虚拟机,这是我的默认配置。它会提示安装kylin系统,我们安装系统,注意内存的分配问题,我们要至少分配60G,相信我,我在失败了10多次之后选择了80G,不过也有一点,不一定你的计算机盘的存储空间一定要有80G,而是,他在让你填写存储分配的时候,你要填写这么多,只要在后期的使用过程中,不超过自己物理机的存储即可。
网络设置现在我上图的虚拟机设置中选择桥接网络,然后再打开虚拟网络编辑器
点击右下角的更改设置,然后将出现的VMNET0页面的VMNET信息中,勾上桥接模式,确定即可。然后重启虚拟机,即可配置成桥接模式。
在安装系统的过程中,你可能会选择,自己配置磁盘分区,这里介绍一下自己配置过程中遇到的问题,他会有主分区和逻辑分区的选择,
主分区:我们的C盘,也就是默认磁盘,在你刚买电 ...
Goldwasser–Micali Cryptosystem
今天看了一个新的密码系统Goldwasser–Micali Cryptosystem,名字很复杂,原理很简单,记录一下!
Goldwasser–Micali Cryptosystem是基于概率加密,什么是概率加密呢?举个简单的例子,我们通常把加密中,发送方记为Alice,接收方记为Bob, 截取破解方称为Eve.
如果A通过公钥加密系统加密信息,然而只想发送0,1给B,那么他只需要加密两个数0,1
所以E所做的很简单,就是用同样的加密系统加密0, 1,然后和A的密文作比较,对比得出明文。
为了解决问题,Goldwasser and Micali发明了新密码。其实现在于每次传输明文m时选择一个随机字符串r,然后用B的公钥加密(m, r)
r在其所有可能的值之间变化。假如有两个明文m1, m2,其密文范围就为
\begin{align}
e(m_1,\ r) = the\ ciphertext\ for\ plaintext\ m_1\ and\ for\ random\ string\ r,\\
e(m_2,\ r) = the\ ciphertext\ for\ plaintext\ ...
汇编语言学习(2):寄存器指令练习
题目如图所示,下面我们来分析。
CS=2000H, IP = 0000H这是两个16位地址线给出的地址,它们合成20位地址之后,决定了CPU在内存中读取什么指令。
形成20位地址 = CS *16 + IP,所以初始地址为20000H读取第二列之中的B8, 22, 66三个指令,
对应的汇编指令为 mov ax, 6622h
读取之后IP + 3,因为读取了三个指令,下次要读后三个。
所以下一个读取内存对应的地址为CS=2000H, IP = 0003H,合成20位位20003H,读取EA,03,00,00,10五个指令,
对应的汇编指令为 jmp 1000:3这种1000:3表示CS=1000H,IP=0003H
读取之后IP + 5,因为读取了5个指令,但是,读取命令的过程中有对IP的赋值,IP = 0003H,CS = 1000H
所以所以这次再读取指令从CS:IP = 10003H来读取,到了第一列,读取B8,00,00三个指令。
对应的汇编指令为 mov ax 0000注意H大写和小写都表示16进制后缀。
读取之后IP + 3,因为读取了3个指令。
再次读取指令要读取 ...
php学习(4):超全局变量与正则表达式
上次最后学到了超级全局变量,比如:
1234567echo $_SERVER['PHP_SELF'];#返回当前执行脚本文件名。echo $_SERVER['SERVER_ADDR'];#返回主机的IP地址。echo $_SERVER['SERVER_NAME'];#返回主机名(解析过的)echo $_SERVER['REMOTE_ADDR'];#返回浏览页面用户的IP地址
然后来看$_REQUEST[]
下面我们和前端结合一下:
1234<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> NAME:<input type="text" name="fname"> <input type="submit"></form>
然后紧接着写php文 ...
CISCN2019 华北赛区 Day1 Web5 CyberPunk
[CISCN2019 华北赛区 Day1 Web5]CyberPunk先读取初始页源码
看到file字样想起伪协议
立刻PHP伪协议
1?file=php://filter/convert.base64-encode/resource=index.php
出现BASE64,解码即可
12345678910111213141516<?phpini_set('open_basedir', '/var/www/html/');// $file = $_GET["file"];$file = (isset($_GET['file']) ? $_GET['file'] : null);if (isset($file)){ if (preg_match("/phar|zip|bzip2|zlib|data|input|%00/i",$file)) { echo('no way!'); exit; ...