首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
前端使用BCrypt
2024-08-19
bcrypt对密码加密的一些认识(学习笔记)
学习nodejs和mongoDB的时候,接触了用户注册和登录的一些知识. 1.关于增强用户密码的安全性 用户的密码肯定不能保存为明文,避免撞库攻击. 撞库攻击:撞库是一种针对数据库的攻击方式,方法是通过攻击者所拥有的数据库的数据通攻击目标数据库.可以理解为用户在A网站被盗的账户密码来登陆B网站,因为很多用户在不同网站使用的是相同的账号密码因此可以起到获取用户在B网站的用户账户从而达到目的.(来自知乎https://www.zhihu.com/question/21562202) 所以,在用户刚创
前端使用bcrypt对密码加密,服务器对密码进行校验
以前为了防止前端密码安全问题,都是对密码进行md5(password + salt). 有些也会用别的加密方式,但还是会存在撞库,彩虹表等破解常规密码. 因此使用bcrypt加密是一个不错的选择,因为每次加密都会随机salt,每次加密结果都不一样,相对安全性更高些. 下面是一个示例代码,启动一个http服务器,浏览器输入http://127.0.0.1:8080,当填入密码与服务器一致时提示成功,不一致时报错. package main import ( "flag" "fm
对抗密码破解 —— Web 前端慢 Hash
(更新:https://www.cnblogs.com/index-html/p/frontend_kdf.html ) 0x00 前言 天下武功,唯快不破.但在密码学中则不同.算法越快,越容易破. 0x01 暴力破解 密码破解(严格地说应该是账号口令的破解),就是把散列值还原成明文口令.这貌似有不少方法,但事实上都得走一条路:暴力穷举.(也许你会说还可以查表,瞬间就出结果.虽然查表不用穷举,但表的制造过程仍然需要.查表只是将穷举提前了而已) 因为散列计算是单向的,是不可逆的,所以只能穷举.穷举
【转】对抗拖库 ―― Web 前端慢加密
0×00 前言 天下武功,唯快不破.但密码加密不同.算法越快,越容易破. 0×01 暴力破解 密码破解,就是把加密后的密码还原成明文密码.似乎有不少方法,但最终都得走一条路:暴力穷举.也许你会说还可以查表,瞬间就出结果.虽然查表不用穷举,但表的制造过程仍然需要.查表只是将穷举提前了而已. 密码加密,用的都是单向散列计算.既然单向,那就是不可逆,那只能穷举.穷举的原理很简单.只要知道密文是用什么算法加密的,我们也用相同的算法,把常用的词组跑一遍.若有结果和密文一样,那就猜中了. 穷举的速度有多快?
对抗明文口令泄露 —— Web 前端慢 Hash
(更新:https://www.cnblogs.com/index-html/p/frontend_kdf.html ) 0x00 前言 天下武功,唯快不破.但在密码学中则不同.算法越快,越容易破. 0x01 暴力破解 密码破解(严格地说应该是账号口令的破解),就是把散列值还原成明文口令.这貌似有不少方法,但事实上都得走一条路:暴力穷举.(也许你会说还可以查表,瞬间就出结果.虽然查表不用穷举,但表的制造过程仍然需要.查表只是将穷举提前了而已) 因为散列计算是单向的,是不可逆的,所以只能穷举.穷举
一个基于React整套技术栈+Node.js的前端页面制作工具
pagemaker是一个前端页面制作工具,方便产品,运营和视觉的同学迅速开发简单的前端页面,从而可以解放前端同学的工作量.此项目创意来自网易乐得内部项目nfop中的pagemaker项目.原来项目的前端是采用jquery和模板ejs做的,每次组件的更新都会重绘整个dom,性能不是很好.因为当时react特别火,加上项目本身的适合,最后决定采用react来试试水.因为原来整个项目是包含很多子项目一起,所以后台的实现也没有参考,完全重写. 本项目只是原来项目的简单实现,去除了用的不多和复杂的组件.但
Spring Security报异常 Encoded password does not look like BCrypt
控制台报错: Encoded password does not look like BCrypt 意思是前端传回去的密码格式与数据库里的密码格式不匹配,这样即使密码正确也无法校验.自然也就无法登录. 造成这种情况的原因主要有以下几点: 1.登录时,service中的加密类与数据库中密码所采用的加密类不同. service中的加密 数据库中的加密 2.也有可能是其中一个加密了,一个没加密 当密码取值前这样写:代表着从数据库取值时,不采取加密方式 当service中的新增方法不写加密时,也会导致此
构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四)
通过前面几节的准备工作,对于 npm / node / gulp 应该已经有了基本的认识,本节主要介绍如何构建一个基本的前端自动化开发环境. 下面将逐步构建一个可以自动编译 sass 文件.压缩 javascript 文件.多终端多浏览器同步测试的开发环境,并且还可以通过 piblish 命令对项目下的文件进行打包操作. 相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常
常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)
前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本的了解.如果你对 Gulp 还不是很了解,可以通过下面两篇文章快速了解 Gulp . 由于几乎所有的插件都有非常友好的使用文档,所以本文不讨论涉及插件使用的东西,仅是一个汇总.排名不分先后. 相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gul
前端极易被误导的css选择器权重计算及css内联样式的妙用技巧
记得大学时候,专业课的网页设计书籍里面讲过css选择器权重的计算:id是100,class是10,html标签是5等等,然后全部加起来的和进行比较... 我只想说:真是误人子弟,害人不浅! 最近,在前端群里还发现以上观点类似的奇葩聊天,真是*** 其实,也是在很久以前,看了腾讯ISUX的一位前端工程师-麦时分享的一篇技术文章(个人站点已失效,就不贴出来了),才了解到真正的css选择器权重计算. 以下是css选择器权重计算精华所在,翻译自国外的文档(记得是W3C给出的计算规则) 如果一个声明来自s
总结:Mac前端开发环境的搭建(配置)
新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房租都不知道该怎么半了,都怪消费太冲动. 不过,眼下需要解决的不是房租问题,而是在新电脑上搭建开发环境,正好在搭建的时候总结一下: 1.FQ工具:lantern 地址:https://github.com/getlantern/lantern 2.命令行工具:term2 官网:http://www.i
Fis3的前端工程化之路[三大特性篇之声明依赖]
Fis3版本:v3.4.22 Fis3的三大特性 资源定位:获取任何开发中所使用资源的线上路径 内容嵌入:把一个文件的内容(文本)或者base64编码(图片)嵌入到另一个文件中 依赖声明:在一个文本文件内标记对其他资源的依赖关系 声明依赖 FIS3 在执行编译的过程中,会扫描这些编译标记,从而建立一张 静态资源关系表,资源关系表详细记录了项目内的静态资源id.发布后的线上路径.资源类型以及 依赖关系 和 资源打包 等信息.使用 FIS3 作为编译工具的项目,可以将这张表提交给后端或者前端框架去运
Fis3的前端工程化之路[三大特性篇之内容嵌入]
Fis3版本:v3.4.22 Fis3的三大特性 资源定位:获取任何开发中所使用资源的线上路径 内容嵌入:把一个文件的内容(文本)或者base64编码(图片)嵌入到另一个文件中 依赖声明:在一个文本文件内标记对其他资源的依赖关系 内容嵌入 嵌入资源即内容嵌入,可以为工程师提供诸如图片base64嵌入到css.js里,前端模板编译到js文件中,将js.css.html拆分成几个文件最后合并到一起的能力.有了这项能力,可以有效的减少http请求数,提升工程的可维护性. fis不建议用户使用内容嵌入能
Fis3的前端模块化之路[基础篇]
Fis3版本:v3.4.22 fis3是一个构建工具 解决前端开发中自动化工具.性能优化.模块化框架.开发规范.代码部署.开发流程等问题. 安装 npm install -g fis3 运行 fis3 -v 输出 说明安装成功. 基本使用 查看有哪些命令 fis3 -h 构建命令 //构建 fis3 release //构建输出到指定目录 fis3 release -d <path> //构建输出到当前目录下 fis3 release -d ./output //构建输出到父级目录下 fis3
细说前端自动化打包工具--webpack
背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档一样.一个html页面,夹杂着css,javascript是再常见不过的事了. 随着前端的不断发展,特别是单页应用的兴起,这种所见即所得的IDE工具,就渐渐地退出了前端的主流.一个应用,通常只有一个静态页面(index.html),甚至这个页面的body只有一个或少数几个div组成.这时有大量的cs
通过AngularJS实现前端与后台的数据对接(二)——服务(service,$http)篇
什么是服务? 服务提供了一种能在应用的整个生命周期内保持数据的方法,它能够在控制器之间进行通信,并且能保证数据的一致性. 服务是一个单例对象,在每个应用中只会被实例化一次(被$injector实例化),并且是延迟加载的(需要时才会被创建).服务提供了把与特定功能相关联的方法集中在一起的接口.(此解释来源于AngularJS权威教程). 在笔者的认知中,服务就是用来创建数据,存储数据,也可以向后台请求数据的一个很特别的“领域”,除此之外,服务还能与控制器之间进行紧密的通信,保证数据能通过控制器显示
前端框架 EasyUI (0) 重新温习(序言)
几年前,参与过一个项目.那算是一个小型的信息管理系统,BS 结构的,前端用的是基于 jQuery 的 EasyUI 框架. 我进 Team 的时候,项目已经进入开发阶段半个多月了.听说整个项目的框架是另一个“牛人”搭建的,后来被这个 PM 直接拿来用了. 因为搭框架的“牛人”已经不在了,整个 Team 没有对框架非常精通的人,开发过程中遇到不少问题. 后台还好,没用什么复杂的组件或框架,都是最基本的 ASP.NET 页面和 C# 代码,所以没有什么问题.关键是前端,当时整个 Team 里没有一个
一步步开发自己的博客 .NET版(10、前端对话框和消息框的实现)
关于前端对话框.消息框的优秀插件多不胜数.造轮子是为了更好的使用轮子,并不是说自己造的轮子肯定好.所以,这个博客系统基本上都是自己实现的,包括日志记录.响应式布局.评论功能等等一些本可以使用插件的.好了,废话不多时.我们来实现自己的对话框和消息框. 对话框 要求:可拖动.点击按钮后可回调 画一个简单的模型框 <div class="hi-dialog-box clearfix"> <div class="hi-dialog-title">系统
浅谈WEB页面提速(前端向)
记得面试现在这份工作的时候,一位领导语重心长地谈道——当今的世界是互联网的世界,IT企业之间的竞争是很激烈的,如果一个网页的加载和显示速度,相比别人的站点页面有那么0.1秒的提升,那也是很大的一个成就. 然后我不知道怎么写下去了,就在群里问了那群狗头军师,结果是这样的... 好的,是时候“语锋一转”切回主题了 —— 如何提升我们站点页面的访问速度.减少等待时间,从而最大化地提升用户访问体验呢? 针对这个问题,我们今天会从前端的角度来提出系列解决方案,它们都能有效地提升你页面的访问速度. 一. 减
js实现前端分页页码管理
用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评! 首先先看效果图: 这是初始页面(也就是第一页)的界面,如果为第一页时,则首页和上一页按钮不可用,为了展示分页的效果,我当前的分页是一条一页. 这是页码大于5页时展示的效果:1,2页始终始终显示(考虑到用户体验) 这是最后一页的效果图: 下面直接上js代码: //页码显示 $(function(){ var dqPage
jsp前端实现分页代码
前端需要订一page类包装,其参数为 private Integer pageSize=10; //每页记录条数=10 private Integer totalCount; //总记录条数 private Integer totalPage; //总页数 private Integer currPage; //当前页 private Integer startIndex; //开始索引 private List<M> list; //结果集 进行查询的数据set进对象,在运用ModelAnd
热门专题
oracle 表中有clob字段导致表空间满
string.xml文件里的引号
centos7 泛域名配置
为什么$set可以响应式
谷歌浏览器跳转到指定ie浏览器
curl 添加body Linux
ETC 设备api文档
emgucv Image 拼接
Navicat 版本 10.0.11 查看列名注释
vSphere Client如何导出虚拟机
多线程 AtomicInteger计数少了
tp里面打开一个新网页
idea项目栏哪个是包哪个是类
sqlservercount(1)和count(*)
Androidstudio怎么给界面Listview加分割线
arduino模拟输入不稳定
wpf dynamicObject 无法通知数据改变
CSS怎么只返回第一个匹配的
JMeter jms发布
h5 canvas 详解