加载中...
hacker课程学习1
Web应用课
html基础标签 文件结构 1234567891011<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Web应用课</title></head><body> <h1>第一讲</h1></body></html> meta HTML的<meta> 元素表示那些不能由其它 HTML 元相关(meta-related)元素((<base>、<link>, <script>、<style> 或 <title>)之一表示 ...
新版ui的Pycharm导入Anaconda虚拟环境
一 Settings->Python Interpreter,点击Add interpreter->Add Local Interpreter 二 Conda Environment->点击右侧文件夹图标 找到自己anaconda安装路径下的Library\bin\conda,bat,选中,点击OK 三 点击OK之后,点击Load Environment,就会出现下图类似的界面 之后即可按照老版的导入虚拟环境的操作进行了。 以下步骤是导入虚拟环境。 四 选择虚拟环境即可,第一个为base环境,具体路径和自己安装anaconda的路径变化。
kali如何使用proxychains4科学上网
一 Kali 自带了ProxyChains4,ProxyChains运行的所有配置都在“/etc/proxychains.conf ”文件中,使用如下命令修改该文件。 1sudo vi etc/proxychains4.conf 定位到文件的最下面,有[ProxyList]这么一行, 加上socks5 192.168.xxx.xxx 7890,192.168.xxx.xxx为物理机地址,同时注释掉socks4 127.0.0.1 9050 二 使用proxychains4 curl cip.cc命令进行测试,显示访问成功
PS加上黑色透明图层
1.创建新图层,让创建的新图层显示,其余的不显示 2.用油漆桶工具,选择黑色,点击图层 3.选中图层,设置透明度
PS扩展图片背景
方法一 1.点击解锁,按住c键,然后选择裁剪比例(或像素)(如果担心损坏原图,可以先复制一份,ctrl+j) 拉大的时候可以按住alt键,保持在中心放大,然后到了合适的地方按下enter键。 2.ctrl+鼠标左键点击图层,选中图像 然后按下ctrl+shift+i,反选 3.点击选择->修改->扩展,大概选4或5个像素(这一步是为了防止围绕边缘建立线条) 4.点击编辑->内容识别填充 效果图:也可以在右边的填充设置进行填充调整,同时左边还支持取样区域的调整。 方法二 1.使用矩形区域框选需要重复的地方,并且按下ctrl+j 2.选择移动工具(v),将其向上拖动到合适为止,按ctrl+t,右键,点击垂直翻转,如果是水平的,选择水平翻转。 3.为了方便后续拷贝,可以选中两个复制的图层,ctrl+e合并 4.点击合并好的图层,ctrl+j复制,拖动,一直到填充满即可 5.ctrl+shift+e,合并全部图层,使用套索工具或多边形套索构建,套住需要修改的区域, 6.编辑,选择内容填充识别 ...
CTF课程学习1
相关课程 ## 杂项的基本解题思路 文件操作与隐写 文件类型识别 file命令 ​ 当文件没有后缀名或者有后缀名而无法正常打开时,根据识别出的文件类型来修改后缀名即可正常打开文件。 使用场景:不知道后缀名,无法打开文件。 格式:file 文件名 010 editor ​ 通过010editor程序可以查看文件头类型,根据文件头类型判断出文件类型。 使用场景:windows下通过文件头信息判断文件类型 文件类型 文件头 JPEG (jpg) FFD8FFE1 PNG (png) 89504E47 GIF (gif) 47494638 TIFF (tif) 49492A00 Windows Bitmap (bmp) 424DC001 ZIP Archive (zip) 504B0304 RAR Archive (rar) 52617221 Adobe Photoshop(psd) 38425053 Rich Text Format ( ...
kali安装
镜像下载下载地址 进去根据自己电脑配置以及虚拟器,选择合适的版本即可,博主这里选择的是kali-linux-2024.2-vmware-amd64.7z 下载后进行解压,解压之后会得到这样一个类似的文件夹。 注:本文采用导入虚拟机的方式来实现快捷安装 虚拟机安装打开Vmware,选择扫描虚拟机。 选择刚才解压得到的文件夹即可 点击下一步,然后下个界面点击完成即可。 启动kali,用户名和密码都是kali。 安装后kali的一些设置修改密码打开命令行,输入sudo passwd root,然后输入kali(也就是当前用户的密码),默认是kali, 再输入要修改的密码即可。 更新包先输入 1sudo apt update 然后该命令会去查看升级的包和依赖,但是不会下载和安装。 如果要升级,就需使用 1sudo apt upgrade -y 在软件安装的过程中,会出现很多的需要输入Y/N的情况,-y表示自动全部写yes。 注意:以上这句命令只会下载和安装新的包,但是不会清除旧的包。 如果要清除旧的包,需运行以下命令: 1sudo apt autoremove
密码学学习
绪论 Introduction Course Overview 安全通信: 网页流量使用HTTPS协议保护(SSL) 无线流量: 比如WI-FI使用WPA2保护 ,WPA2是802.11i的一部分 手机流量使用GSM加密机制保护 蓝牙流量也可以使用密码学保护 加密硬盘的文件: EFS(Encrypting File System) TrueCrypt 保护内容: DVD和蓝光碟,上面的电影是加密的 DVD用的是CSS(Content Scramble System,内容混淆系统) 蓝光碟用的是AACS(Advanced Access Content System,高级访问内容系统) 用户认证 HTTPS是HTTP协议的安全版本,它通过在HTTP下层使用SSL/TLS来加密数据传输。 在SSL(Secure Socket Layer,安全套接字层)更新到3.0时,IETF对SSL3.0进行了标准化,并添加了少数机制,标准化后的IETF更名为TLS1.0(Transport Layer Security ...
微服务学习
实用篇 认识微服务 服务架构演变 单体架构 单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。 单体架构的优缺点如下: 优点: 架构简单 部署成本低 缺点: 耦合度高(维护困难、升级困难) 分布式架构 分布式架构:根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发,称为一个服务。 分布式架构的优缺点: 优点: 降低服务耦合 有利于服务升级和拓展 缺点: 服务调用关系错综复杂 分布式架构要考虑的问题: 服务拆分粒度如何,例如哪几个服务要单独作为独立模块、哪些业务要在一起 服务集群地址如何维护,例如一个服务要去多个服务里面找它要的服务,它怎么找,它要找的那个服务的地址是什么 服务之间如何相互实现远程调用,例如上面那行是怎么找,这行的意思就是找到了怎么调用 服务健康状态如何感知,例如一个服务要去多个服务里面找它要的服务,它还要看对方的服务是否在线 微服务 微服务是一种经过良好架构设计的分布式架构方案,微服务架构特征: 单一职责:微服务拆分粒度更小,每一个服务都对应 ...
basePackages和basePackageClasses
basePackageClasses用法 123@Configuration@ComponentScan(basePackageClasses = {CDPlayer.class, DVDPlayer.class})public class CDPlayerConfig {} 将其指定为包中所包含的类或接口,这些类所在的包将会作为组件扫描的基础包。即会去扫描basePackageClasses类指定类或接口所在包下的所有组件,而不是指定某个组件! 也可以考虑在包中创建一个用来进行扫描的空标记接口(markerinterface)。通过标记接口的方式,能够保持对重构友好的接口引用,但是可以避免引用任何实际的应用程序代码(在稍后重构中,这些应用代码有可能会从想要扫描的包中移除掉)。 basePackageClasses相对于basePackages的好处 类型安全:与basePackages相比,basePackageClasses提供了一种类型安全的方式来指定扫描的基础包。由于你是通过提供一个类的字面量来指定扫描包的,因此如果包名 ...
近期笔试面试问题
2024-03-20 ==和equals的区别 ==:对于==比较的是值是否相等 如果作用于基本数据类型的变量,则直接比较其存储的值是否相等, 如果作用于引用类型的变量,则比较的是所指向的对象的地址是否相等。 其实==比较的不管是基本数据类型,还是引用数据类型的变量,比较的都是值,只是引用类型变量存的值是对象的地址 equals: 比较的是是否是同一个对象 首先,equals()方法不能作用于基本数据类型的变量, 另外,equals()方法存在于Object类中,而Object类是所有类的直接或间接父类,所以说所有类中的equals()方法都继承自Object类,在没有重写equals()方法的类中,调用equals()方法其实和使用==的效果一样,也是比较的是引用类型的变量所指向的对象的地址,不过,Java提供的类中,有些类都重写了equals()方法,重写后的equals()方法一般都是比较两个对象的值,比如String类。 Object类equals()方法源码: 123public boolean equals(Object obj) { ...