bcrypt

unable to install npm bcrypt on ubuntu

旧街凉风 提交于 2020-08-22 17:51:39
问题 I am trying to install bcrypt to use it with sails js and passport on an ubuntu system but unable to install it. On running he command to install bcrypt following log is generated on the terminal: manav@tantraadmin:~$ npm install bcrypt \ > bcrypt@0.8.0 install /home/manav/node_modules/bcrypt > node-gyp rebuild make: Entering directory `/home/manav/node_modules/bcrypt/build' CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o make: g++: Command not found make: *** [Release/obj.target

Node教程——封装一个token验证器

血红的双手。 提交于 2020-08-17 10:45:43
重要说明 这个轮子是 使用 express@5.0 + MongoDB构建起来的一个 node后台通用的验证器,里面主要讲的就是使用jwt,token进行验证,当然你想使用session也没问题,但是这个蓝图工程只包含了token字段内容 首先是初始化我们的项目, 主要是 安装一些东西 项目的初始化 如下是我们的项目文件夹结构 ![img](file:///C:\Users\ADMINI~1\AppData\Local\Temp\1589190039(1).jpg) 项目的包管理 首先我们需要使用express@next框架,因为只用next才能在里面使用async es7的一些东西, 我们还需要mongoose来操作数据库 我们还需要bcrypt对数据库里面的密码进行加密 我们还需要jsonwebtoken快捷的生成token npm install express@next npm install mongoose npm install bcrypt npm install jsonwebtoken 好了以上就是我们需要做的 设计路由逻辑 首先我们需要在这里设计几个接口,他们是,并且完成post请求的配置解析json 测试接口 注册接口 登录接口 获取所有用户信息接口 等录之后的权限校验接口 构建入口,并且完成json的解析 /app.js const express =

用户密码到底要怎么加密存储?

 ̄綄美尐妖づ 提交于 2020-08-14 08:26:13
作者:张辉 https://blog.csdn.net/ctrip_tech/article/details/80125741 作为互联网公司的信息安全从业人员经常要处理撞库扫号事件,产生撞库扫号的根本原因是一些企业发生了信息泄露事件,且这些泄露数据未加密或者加密方式比较弱,导致黑客可以还原出原始的用户密码。 目前已经曝光的信息泄露事件至少上百起,其中包括多家一线互联网公司,泄露总数据超过10亿条。 要完全防止信息泄露是非常困难的事情,除了防止黑客外,还要防止内部人员泄密。但如果采用合适的算法去加密用户密码,即使信息泄露出去,黑客也无法还原出原始的密码(或者还原的代价非常大)。 也就是说我们可以将工作重点从防止泄露转换到防止黑客还原出数据。下面我们将分别介绍用户密码的加密方式以及主要的破解方法。 一、用户密码加密 用户密码保存到数据库时,常见的加密方式有哪些,我们该采用什么方式来保护用户的密码呢?以下几种方式是常见的密码保存方式: 1、直接明文保存 ,比如用户设置的密码是“123456”,直接将“123456”保存在数据库中,这种是最简单的保存方式,也是最不安全的方式。但实际上不少互联网公司,都可能采取的是这种方式。推荐阅读: 2019 年 10 个最烂的密码 。 2、使用对称加密算法来保存 ,比如3DES、AES等算法,使用这种方式加密是可以通过解密来还原出原始密码的

一、Spring Security 表单登录项目

徘徊边缘 提交于 2020-08-13 12:27:39
一、 项目 搭建 依赖 < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-security </ artifactId > </ dependency > 编写一个控制层接口 @RestController public class HelloController { @GetMapping( "/" ) public String hello() { return "登陆成功" ; } } 二、表单登录 启动后访问接口会重定向到登录页 在控制台生成UUID 的临时密码字符串,默认用户名为user Using generated security password: f0af6a0a-fbef-465e-941a-ec9afbaa9af9 登录后我们可访问控制层接口。 三、自定义配置 yml配置 密码是springboot auto配置,在SecurityProperties中定义,所以我们可在yml中自定义。 PasswordEncoder Spring Security 提供了多种密码加密方案,官方推荐使用 BCryptPasswordEncoder,BCryptPasswordEncoder 使用 BCrypt 强哈希函数,

SpringBoot 整合 oauth2实现 token 认证

ぐ巨炮叔叔 提交于 2020-08-12 06:38:57
参考地址: https://www.jianshu.com/p/19059060036b session和token的区别: session是空间换时间,而token是时间换空间。session占用空间,但是可以管理过期时间,token管理部了过期时间,但是不占用空间. sessionId失效问题和token内包含。 session基于cookie,app请求并没有cookie 。 token更加安全(每次请求都需要带上) Oauth2 密码授权流程 在oauth2协议里,每一个应用都有自己的一个clientId和clientSecret(需要去认证方申请),所以一旦想通过认证,必须要有认证方下发的clientId和secret。 1. pom <!--security--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.security.oauth</groupId> <artifactId>spring-security-oauth2</artifactId> </dependency> 2.