公钥加密数学基础-欧几里得算法
公钥加密数学基础 - 欧几里得算法标准算法一般用来算两个整数的公因数
即使在大数求公因数时也极其高效
另一个耳熟能详的名字辗转相除法
12345678910#欧几里得算法count = 0def Euclidean(A,B): if A % B == 0: return B global count count += 1 r = A % B return Euclidean(B, r)
扩展欧几里得算法用来算模逆元
1234567891011121314151617181920#扩展欧几里得算法global lsglobal ltls = [1,0] lt = [0,1]s = t = -1def EEA(A,B): if A % B == 0: return 0 r = A % B q = A // B global s s = ls[0] - q*ls[1] global t t = lt[0] - q*lt[1] ls[0],ls[1] = ls[1],s lt[ ...
C++学习笔记
1.基础格式
头文件不用加后缀,如#include<iostream>
头文件的后缀.h、.hpp、.hxx
源文件的后缀.cpp、.cxx、.cc
<<流插入操作符,c里面是位操作符但这里含义变了,这个叫做运算符重载
IDE中是自动将制表符替换为4个空格
函数必须将返回值明确列出,不写的话编辑器默认返回int
main函数不写return的话,会自动返回一个int值
命名空间/名字空间不使用using namespace std;因为会导致不同命名空间中同名的在代码中使用时遇到冲突
最好用类似std::cout<<"Hello"<<std::endl
12345using std::cout;using std::endl;....cout<<"Hello"<<endl;....
名字空间可以嵌套声明可以定义自己的名字空间类似namespace Myname{......}
名字空间的函数在外部不可见,名字空间的一个作用是隔离标识符的作用范 ...
js学习记录
前言只记录需要注意的,其他直接记忆
js入门简介JavaScript 同时接受双引号和单引号
使用
对于嵌在<body>部分的脚本,把脚本置于<body>元素的底部,可改善显示速度,因为脚本编译会拖慢显示
外部脚本的引用语句可以放在HTML的任何位置(当然参考上一条)
输出JavaScript 不提供任何内建的打印或显示函数
使用 window.alert() 写入警告框
使用 document.write() 写入 HTML 输出,一般用于测试
使用 innerHTML 写入 HTML 元素
使用 console.log() 写入浏览器控制台
在 HTML 文档完全加载后使用 document.write() 将删除所有已有的 HTML
语句如果 JavaScript 语句太长,对其进行折行的最佳位置是某个运算符
一些不同于c的关键词
debugger:停止执行 JavaScript,并调用调试函数(如果可用)
function:声明函数
var:声明变量
try…catch:对语句块实现错误处理
语法
Javascript是动态语言,所以就有只有字 ...
前端开发概述
一般为htm.html.shtml.asp.php.jsp.net 没有后缀的原因是为了让用户浏览速度加快,很多个人网站或非专业网站不希望相应的广告连接在自己的相关网页上出现,所以就利用服务器的文件解释漏洞,将网页扩展名改为其他名称。 因为服务器端对网页加入广告代码的规则是根据文件的扩展名的。 只要其分析到文件的扩展名为.htm,.html,则对页面加入广告代码,否则忽略。所以,只需要把网页的.htm,.html后缀改为.gif,.jpg,txt等,然后访问,即可正常显示
前端技术构成结构:HTML
样式:CSS
行为:JavaScript
前端技术标准W3C:万维网联盟(the World Wide Web Consortium)
W3C标准:www.w3.org
目前最新标准:HTML5,CSS3,JavaScript
HTML(HyperText MarkUp Language)超文本标记语言,是制作网页的标准语言,决定了网页的结构
HTML不区分大小写(大小写不敏感)
标签间层次的关系可以由一个树表示,叫做HTML的DOM树(文档对象模型,Document Object Mod ...
npm包管理器
npm包管理器简介作为下载和管理Node.js包依赖的方式
Yarn是npm的一个替代选择
npm仓库是一种单一语言代码仓库,有大量软件包
主要作用:管理或下载项目所需要的依赖
安装所需依赖全部依赖项目有package.json文件时
1npm install
会在node_modules文件夹中安装项目需要的所有依赖
单独1npm install <package-name>
--save安装并添加条目到 package.json 文件的 dependencies
--save-dev安装并添加条目到 package.json 文件的 devDependencies
dependencies 则是与生产环境中的应用程序相关
devDependencies 通常是开发的工具(例如测试的库)
注意事项正常情况下软件包安装到当前项目的node_modules下
全局安装npm install -g <package-name>则安装置全局位置
在 macOS 或 Linux 上,此位置可能是 /usr/local/lib/node_modules。 在 ...
Vue
Vuevue-clivue init webpack fileName
npm run dev
后端api交互真的弄了好长时间
12npm install axiosnpm install --save axios vue-axios
12345/*在main.js中应用*/import axios from 'axios'import VueAxios from 'vue-axios'Vue.use(VueAxios, axios)
123456789101112/*GET*/data() { return { info: null }},mounted() { this.axios .get("api接口url") .then(response=>(this.info = response)) .catch(function(error){console.log(error)})}
...
sql环境搭建踩坑指南
SQL注入环境搭建踩坑指南使用《Web安全攻防》中配套的SQL注入平台来搭建
一般流程
先下载zip,解压密码找了好长时间,在这个视频里https://pan.baidu.com/s/15F1SEoHZYoWxPE8iMqkqAQ
提取码:zqbo
我使用的是phpstudy,平台只需要开启Apache和MySQL服务即可
在phpstudy的WWW/127.0.0.1/下新建一个sql1文件夹(不建当然也可以,后面按照对应路径来)
然后把解压出来的sqli-labs-master文件夹下所有文件全部添加到sql1文件夹下
开启MySQL服务(不开启就无法创建数据库,MySQL版本好像无影响),然后点击phpstudy的数据库,先修改root用户的密码,再创建一个库名为security的数据库
点击操作,导入,选择sql-lab.sql文件导入
打开sql-connections文件夹的db-creds.inc文件,需要修改的就两个地方
$dbuser ='root'; $dbpass ='your pass';
在开启Apache和MyS ...
Git学习记录
Git学习总结2023/11/5 - 更新
此文用作学习总结,以方便日后复习,也希望能帮到一些初学者,不足之处还请各位大侠指正。
Git是一个开源的分布式版本控制系统,能让人们方便的进行文件管理
何为分布式从集中式版本控制系统说起,完整的版本库集中存放在中央服务器,每次都要从中央获取最新版本,编辑完再提交至中央,存在下载资源速度慢和中央服务器一旦出现问题整个项目就会遭到巨大打击的问题,分布式版本控制系统则很好的解决了上述问题,因为每个人的电脑上都有完整的版本库,不必联网不用担心中央服务器突然失效。
为电脑注册“账号”
git config工具
想象在一个聊天群中,每个人都没昵称的场面,更不用说在一个工作的环境中没了身份的标识,所以在安装完Git后请再做一步,设置你的name和email
12git config --global user.name "NAME"git config --global user.email "EMAIL"
--global参数表示当前电脑上的所有git仓库都是用这个配置,所以去掉即可对不同仓库注 ...
Hello World
Hello World历经千辛万苦终于搭起了属于自己的博客
cheers!