前言 简介: 消息摘要(Message Digest)又称为数字摘要(Digital Digest) 它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生 使用数字摘要生成的值是不可以篡改的,为了保证文件或者值的安全 无论输入的消息有多长,计算出来的消息摘要的长度总是固定的.例如应用MD5算法摘要的消息有128个比特位,用SHA-1算法摘要的消息最终有160比特位的输出 只要输入的消息不同,对其进行摘要以后产生的摘要消息也必不相同:但相同的输入必会产生相…
上一篇文章 .net基础学java系列(三)徘徊反思 本章节没啥营养,请绕路! 看视频,不实操,对于上了年龄的人来说,是记不住的!我已经看了几遍IDEA的教学视频: https://edu.51cto.com/course/15850.html,此视频分如下13节! 1-1 Idea介绍(刷过去,不看了) 1-2 Idea安装(刷过去,不看了,官网介绍的使用ToolBox安装,更好!) 1-3 idea创建普通Java工程(好吧,这里就跟.net的控制台应用程序一样嘛!) 1-4 idea设置样…
前言 说起加密方式,其实密码学的角度ASCII编码其实本身就是一种加密解密. 由于其公开,现在用于数字与字符的转换. 查看ASCII表可以去官网查查. 转换代码如下: static void Main(string[] args) { char c = (char)97; Console.WriteLine(c);//a Console.ReadKey(); } 大概就是这样了. 再讲另外一个故事,我们在数据传输过程中为什么要求编码格式一致. 这个问题其实也是一个密码学问题.比如说传输方的编码是…
1. 克隆一台虚拟机 # virt-clone -o base -n vm-clone -f /vm/vm-clone.img 参数说明: -o 原虚拟机的名称:必须为关闭或者暂停状态. -n 新虚拟机的名称 -f 作为新虚拟机端磁盘映像的新文件 -u 新虚拟机的UUID:默认为随机生成UUID -m 新虚拟机的 MAC地址.默认为随机生成 MAC. 克隆完成后可以通过 xm list 查看到新克隆的虚拟机,通过 xm start vm-clone 即可启动.克隆完成后会在路径 /vm 下生成 …
使用JDK自带的MessageDigest计算消息摘要 上代码 /** * 使用JDK自带MessageDigest */ public class MessageDigestUtils { /** * 计算消息摘要 * @param algorithm 消息摘要算法 * @param in 数据流 * @return 消息摘要 * @throws IOException * @throws NoSuchAlgorithmException */ public static byte[] dig…
对于 mPaaS 小程序开发框架,想必读者们并不陌生.它源自于支付宝小程序框架,继承了易开发性.跨平台性及 Native 性能,不仅帮助开发者实现面向自有 App 投放小程序,还可快速构建打包,覆盖支付宝.淘宝.钉钉等应用. 本文主要将从代码实操角度切入,带大家进一步了解 mPaaS 小程序,以及如何使用 mPaaS 小程序 IDE 进行深度开发. 准备工作 在正式启动 mPaaS 小程序开发之前,我们需要完成相应的准备工作.在你完成 mPaaS 小程序功能开通之后,可以下载所需版本的小程序 I…
一.前言:IGMP协议用于IPv4系统向任何邻居组播路由器报告其组播成员资格.IP组播路由器自己本身也可以是一到多个组播组的成员.这时,组播路由器要实现协议的组播路由器部分. IGMP存在三个不同版本,Version 1在RFC-1112中声明,是第一个广泛使用的IGMP版本:Version 2在RFC-2236中声明,添加了"低离开延迟"和特定组查询功能:Version 3在RFC-3376中声明,添加了"源过滤"机制.允许系统选择想要接收的特定组播源或者排除不想…
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从python到Node.js,了解过设计模式,也跟风了微信公众号开发.然而却浅尝辄止,未曾深入.买了一本本的技术书籍,没完整的翻完一本.屯了一部部的pdf,却只是在手机里占着内存.想过改变,却从未曾着手改变. 以上算是我程序猿生涯的真实写照. 现在我要尝试改变,从基础的helloworld开始,记下学习…
Istio的流量管理(实操二)(istio 系列四) 涵盖官方文档Traffic Management章节中的inrgess部分. 目录 Istio的流量管理(实操二)(istio 系列四) Ingress网关 环境准备 确定ingress的IP和端口 使用istio网关配置ingress 使用浏览器访问ingress服务 问题定位 卸载 Ingress(kubernetes) 下一步 TLS 指定路径类型 指定IngressClass 卸载 安全网关 生成服务端证书和私钥 单主机配置TLS i…
Istio的流量管理(实操一)(istio 系列三) 使用官方的Bookinfo应用进行测试.涵盖官方文档Traffic Management章节中的请求路由,故障注入,流量迁移,TCP流量迁移,请求超时,熔断处理和流量镜像.不含ingress和Egree,后续再补充. 目录 Istio的流量管理(实操一)(istio 系列三) 部署Bookinfo应用 Bookinfo应用说明 部署 卸载 流量管理 请求路由 基于用户ID的路由 故障注入 注入HTTP延时故障 注入HTTP中断故障 卸载 流量…
基于HTTP在互联网传输敏感数据的消息摘要.签名与加密方案 博客分类: 信息安全 Java 签名加密AESMD5HTTPS  一.关键词 HTTP,HTTPS,AES,SHA-1,MD5,消息摘要,数字签名,数字加密,Java,Servlet,Bouncy Castle 二.名词解释 数字摘要:是将任意长度的消息变成固定长度的短消息,它类似于一个自变量是消息的函数,也就是Hash函数.数字摘要就是采用单项Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文这一串密文又称为数字指纹…
当前,人脸识别应用于许多领域,如支付宝的用户认证,许多的能识别人心情的 AI,也就是人的面部表情,还有能分析人的年龄等等,而这里面有着许多的难度,在这里我想要分享的是一个利用七牛 SDK 简单的实现人脸识别的方法,当然七牛的 SDK 中提供了很多的拓展,在返回的 JSON 中包含着如年龄等信息,这里就不进行分享了.这里我们要使用的是七牛云平台中由阅面科技提供的 API. 以下为官方给出的功能: 人脸 1v1 比对 人脸关键点(106 点) 人脸属性(年龄,性别) 我们要用的服务就是第一个:人脸…
Istio的流量管理(实操三) 涵盖官方文档Traffic Management章节中的egress部分.其中有一小部分问题(已在下文标注)待官方解决. 目录 Istio的流量管理(实操三) 访问外部服务 部署 Envoy透传流量到外部服务 控制访问外部服务 修改默认的阻塞策略 访问外部HTTP服务 访问外部HTTPS服务 管理到外部的流量 卸载 直接访问外部服务 总结 卸载 环境恢复 Egress TLS Origination(Egress TLS源) 为Egress流量配置TLS源 需要考…
性能测试工具 jmeter 分布式压力测试实操 本文在Non-GUI Mode下进行,准备好三台有jdk环境,linux操作系统,同一局域网测试机器,运行两台slave,一台master机器,进行分布式测试. slave-1/slave-2/master配置好jmeter环境(以下操作在jdk版本1.8环境下进行的) 1.下载jmeter3.2 wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-3.2.tgz 2…
原文地址:Web Application Security Checklist 原文作者:Teo Selenius(已授权) 译者 & 校正:HelloGitHub-小熊熊 & 卤蛋 对于开发者而言,网络安全的重要性不言而喻.任何一处代码错误.一个依赖项漏洞或是数据库的端口暴露到公网,都会有可能直接送你上热搜. 那么,哪里可以找到详细的避雷指引呢?OWASP's top 10 清单太短了,而且它更关注的是漏洞罗列,而非对预防.相比之下,ASVS是个很好的列表,但还是满足不了实际需求. 本文…
密码学系列之:Merkle–Damgård结构和长度延展攻击 简介 Merkle–Damgård结构简称为MD结构,主要用在hash算法中抵御碰撞攻击.这个结构是一些优秀的hash算法,比如MD5,SHA-1和SHA-2的基础.今天给大家讲解一下这个MD结构和对他进行的长度延展攻击. MD结构 MD结构是Ralph Merkle在1979年的博士论文中描述的.因为Ralph Merkle 和 Ivan Damgård 分别证明了这个结构的合理性,所以这个结构被称为Merkle–Damgård结构…
昨日内容回顾 GIL全局解释器锁 1.在python解释器中 才有GIL的存在(只与解释器有关) 2.GIL本质上其实也是一把互斥锁(并发变串行 牺牲效率保证安全) 3.GIL的存在 是由于Cpython解释器中的内存管理不是线程安全的 内存管理>>>垃圾回收机制 4.在python中 同一个进程下的多个线程无法实现并行的(可以并发) 验证GIL中的各种特性 1.python代码要想被运行 必须先获取到解释器 但是解释器的获取需要抢夺和释放GIL全局解释器锁 剥夺CPU权限的两种情况:…
消息摘要 算法简述 定义 它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生.如果消息在途中改变了,则接收者通过对收到消息的新产生的摘要与原摘要比较,就可知道消息是否被改变了.因此消息摘要保证了消息的完整性.消息摘要采用单向Hash 函数将需加密的明文"摘要"成一串密文,这一串密文亦称为数字指纹(Finger Print).它有固定的长度,且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致.这样这串摘要便可成为验证明文是否是…
HMAC(Hash Message Authentication Code)哈希消息授权码,它在消息摘要算法(例如MD5,SHA系列算法)的基础上,使用密钥对消息摘要进行加密.它相当于一个马甲,内里可以使用MD5,SHA1,SHA256,SHA384,SHA512等Message Digest算法,在生成的消息摘要的基础上再多一道加密的工序.所以HMAC包括,HmacMD5,HmacSHA1,HmacSHA384,HmacSHA512等种类.正是因为HMAC只是一个马甲,它才有了很大的灵活性,底…
1.使用消息摘要技术对密码加密 数据库存储的是经过消息摘要技术加密之后的信息, 避免保存密码明文,提升了系统安全性 必要性说明: 如果存储明文密码,数据库系统管理员和攻破系统的黑客是可以拿到你的所有信息, 但是使用的是消息摘要技术加密后的密码信息,即使有人拿到这个加密后的密文,他也不能反算出明文, 能够规避分险 导入消息摘要工具包: <dependency> <groupId>commons-codec</groupId> <artifactId>commo…
申明:本文是基于python3.x及selenium3.x. unittest,也可以称为PyUnit,可以用来创建全面的测试套件,可以用于单元自动化测试(模块).功能自动化测试(UI)等等. 官方文档:https://docs.python.org/3.6/library/unittest.html unittest具备创建测试用例.测试套件.测试夹具的能力,包括的组件如下: Test Fixture(测试夹具):通过使用测试夹具,可以定义在单个或者多个测试执行之前的准备工作和测试执行后的清理…
类级别的setUp()方法与tearDown()方法 在实操(一)的例子中,通过setUp()方法为每个测试方法都创建了一个Chrome实例,并且在每个测试方法执行结束后要关闭实例.是不是觉得有个多余了!能否让各个测试方法共用一个Chrome实例,而不用每次都创建一个新的实例呢?肯定可以的,unittest为我们提供了明路.可以通过用setUpClass()方法和tearDownClass()方法及@classmethod标识来实现.这两个方法使我们可以在类级别来初始化数据,替代了方法级别的初始…
创建房间 test-rtn 10001 e2uii6r7r 8LfwOcreM76OiV1V1y8jXrMG_BNa-cmktpWUznRa:kdYdsEpcYLc5ceWEHPaK0ZDI7Qc=:eyJhcHBJZCI6ImUydWlpNnI3ciIsInJvb21OYW1lIjoidGVzdC1ydG4iLCJ1c2VySWQiOiIxMDAwMSIsImV4cGlyZUF0IjoxNTU0MDExMTUzLCJwZXJtaXNzaW9uIjoidXNlciJ9 demo 中使用 room…
视频回放地址:https://i.iamlj.com/mp4/QVM-IMC-12.27-1080P.mp4 目录 目录 常规开发部署流程 准备工作 开发准备 网站部署 操作步骤 重装系统 LANP环境安装 安装 WordPress Vhost配置[可选] FAQ 购买的主机怎么没 IP SSH 登录不上 端口 Ping 不通,通常是80或其他端口 其他业务方面的需求 密码怎么没了,登录 怎么重装系统啊,有没有 xx 最新的版本啊 重装系统,怎么还不进行啊,怎么需要开机? SSH 密钥是什么,怎…
参考资料:1.英文官方文档2.中文官方文档,内容翻译的不全 SBT是类似maven和gradle的自动构建和包依赖管理工具,SBT是Scala技术体系下的包管理工具,都是Lightbend公司开发的,官方文档并没有介绍SBT的特点,文档中自称相对于maven和gradle有更少的概念但是如果不看文档将会遇到一些细节问题.个人的感受是,SBT类似scala技术体系的特点,就是设计思路上有一种发烧友的那种设计者自己觉得很酷但是我却感觉华而不实的那种烦躁.本文的目的是编写一个SBT的实操项目,你不必需…
MyBatis实操进阶版(一) 目前而言,持久层框架中,在业务实现灵活性上,无可出MyBatis之右者.具体原因,后续将逐步展开 ResultMap元素的设置 配置文件中,ResultMap元素的作用临时存储sql执行结果集与Java对象之间的映射,用以实现数据的持久性.基于此,sql返回结果集更加多样/不必局限于表关系,同时接收对象更加灵活多变,可以自由根据数据需求,设置接收字段,搭配association和collection标签,可以灵活设置数据子集的配置,而且进一步降低了业务层与数据库间…
实操一:总结 1.什么是绑定到对象的方法,如何定义,如何调用,给谁用?有什么特性? 2.什么是绑定到类的方法,如何定义,如何调用,给谁用?有什么特性? 3.什么是解除绑定的函数,如何定义,如何调用,给谁用?有什么特性? 4.什么是property,如何定义,如何使用,给谁用,什么情况下应该将一个属性定义成property,有什么好处? 答:1.对象的绑定方法:在定义一个类后,类下面有一个函数属性,实例化对象后,这个函数属性对对象而言,就 是绑定方法.主要针对的是对象调用的时候,对象名.绑定方法名…
实操重写IK分词器源码,基于mysql热更新词库参考网址:https://blog.csdn.net/wuzhiwei549/article/details/80451302 问题一:按照这篇文章的介绍,遇到一个问题:No suitable driver found for jdbc:mysql,搞了好久都没搞定,原因是没有找到这个驱动.后来看到一篇文章:https://blog.csdn.net/qq_24188167/article/details/77504505,里面有说明,具体需要你把…
接上段   (一)Linux实操之——权限.任务调度.磁盘分区 4.网络配置 4.1 NAT模式的网络配置 目前我们采用的网络配置是NAT模式. windows下cmd通过 ipconfig 命令可以得到本机的网络配置. linux下通过 ifconfig 可得到虚拟机的网络配置 在windows系统中运行着虚拟机中的linux系统,那么两个系统是怎么通信的呢? 实际上windows系统与本机的linux的通信是通过 VMnet8的虚拟网卡来进行的,两者形成网络,192.168.177.128…
实操玩家: 在苹果手机上,我们只要打开定位服务,拍照后便能在相簿中找到地图,地图上显示着在各地拍摄的相片.网站上这种显示方式也并不少见,例如 Flickr.即将关闭的 Panoramio 等. 作为地图爱好者,每每看到地图就激动不已,就想若能在自己博客上也这么显示,那该多好! ▲ 苹果手机上的相片地图 相片的地理位置信息,是通过手机等设备的 GPS 模块记录的,并在其图片文件的 EXIF 数据,保留了这些位置信息. 使用七牛做博客图床以来,其图片处理 API 为各种显示需求提供了便利,这其中有个…