因为新项目没有继续用Shiro框架,再加上人比较懒,所以就没有再写新的关于 Shiro 的文章。但是今天发现已经有几个朋友在 GitHub 上的给示例项目加星,也有留言咨询的。我很高兴这篇文章能够帮到大家,也再次让我感受到把在工作中学到的东西写出来,和大家分享是这么一件令人高兴的事,用知乎上的话说这是一件长半衰期的事。我会继续写下去的

前言

上一篇文章,我们用 Spring Boot2 框架搭建了一个 web 项目,并且使用 Shiro 作为安全管理框架实现了用户的身份认证,也就是登录。这篇文章首先简要介绍了密码储存的演进史,然后结合代码介绍了在 Shiro 中怎么使用 MD5、MD5 加盐、 Bcrypt 等三种逐渐进步的方法加密密码。

密码存储演进史

在上一篇文章中我们保存在系统的用户密码还是明文,这显然是很不合理和不专业的做法。作为一名工程师 专业自然是必须的。

常用的做法是使用加密算法对用户密码加密然后存储数据库,当用户登录时,对用户密码使用相同的算法进行加密,然后与数据库中的密文进行比对。作为一个合格专业的系统有两点需要保证:

  1. 用户账号不易被破解
  2. 系统不能保存用户密码原文

关于密码存储演进史这篇文章讲的很好,朋友们可以看一下。从文章中我们知道密码储存大概分为几个阶段:

  • 明文储存
  • 单向 hash(md5、sha256)
  • 单向 has h加盐
  • 慢加密算法(Bcrypt、Scrypt)

单项hash算法

注册用户

因为要演示使用 Shiro 对密码进行加密,上一节中的那种保存密码的方式非常不方便。在这一节我们添加一个用户注册的接口,使用用户对象保存用户名和用户密码并且用一个集合保存系统已注册的用户。

新建用户类,并重写toString方法。


package top.zhaodongxx.domain;/*** @author zhaodong zhaodongxx@outlook.com* @version v1.0* @since 2018/7/19 10:40*/
public class User {private String username;private String password;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "User{" +"username='" + username + '\'' +", password='" + password + '\'' +'}';}
}

ShiroService 类中添加新增用户的方法 addUser ,我们使用 SimpleHash 类使用 MD5 加密算法对密码进行加密,然后在提供一个通过用户名查询用户的方法,用于后面的登录验证。


package top.zhaodongxx.service;import org.apache.shiro.crypto.hash.SimpleHash;
import org.springframework.stereotype.Service;
import top.zhaodongxx.domain.User;import java.util.ArrayList;
import java.util.List;/*** <P></P>** @author zhaodong zhaodongxx@outlook.com* @version v1.0* @since 2018/3/30 22:59*/
@Service
public class ShiroService {public static List<User> userList = new ArrayList<User>();public String getPasswordByUsername(String username) {switch (username) {case "liming":return "123";case "hanli":return "456";default:return null;}}//根据用户名查询用户public User getUserByUsername(String username) {System.out.println("登陆的用户 " + username);for (User user : userList) {if (username.equals(user.getUsername())) {return user;}}return null;}//添加用户public User addUser(String username, String password) {//通过MD5的方式加密密码String newpwd = new SimpleHash("MD5", password).toHex();User user = new User();user.setUsername(username);user.setPassword(newpwd);userList.add(user);System.out.println(user);return user;}
}

新建注册控制器类 RegisterController ,并提供注册接口 /register


package top.zhaodongxx.controller;import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import top.zhaodongxx.domain.User;
import top.zhaodongxx.result.Result;
import top.zhaodongxx.result.ResultGenerator;
import top.zhaodongxx.service.ShiroService;import javax.annotation.Resource;/*** @author zhaodong zhaodongxx@outlook.com* @version v1.0* @since 2018/7/19 10:53*/
@RestController
public class RegisterController {@Resourceprivate ShiroService shiroService;@PostMapping("/register")public Result register(String username, String password) {User user = shiroService.addUser(username, password);return ResultGenerator.genSuccessResult(user).setMessage("注册成功");}
}

如下体所示到这一步,我们就已经新建了一个用户注册的接口。

这里写图片描述

为Shiro配置加密算法

配置hash算法加密主要分为三步:

  • 创建凭证匹配器 HashedCredentialsMatcher
  • 为我们自定义的 MyShiroRealm Bean 添加凭证匹配器 HashedCredentialsMatcher
  • 修改 MyShiroRealmdoGetAuthenticationInfo 方法的获取用户的方法

在 Shiro 配置文件 ShiroConfig 中创建凭证匹配器 HashedCredentialsMatcher


/*** 凭证匹配器** @return*/
@Bean
public HashedCredentialsMatcher hashedCredentialsMatcher() {HashedCredentialsMatcher hashedCredentialsMatcher = new HashedCredentialsMatcher();/*** hash算法:这里使用MD5算法;*/hashedCredentialsMatcher.setHashAlgorithmName("MD5");/*** 散列的次数,比如散列两次,相当于 md5(md5(""));*/hashedCredentialsMatcher.setHashIterations(1);return hashedCredentialsMatcher;
}

在 Shiro 配置文件 ShiroConfig 中为我们自定义的 MyShiroRealm Bean 添加凭证匹配器 HashedCredentialsMatcher


/*** 自定义的Realm*/
@Bean(name = "myShiroRealm")
public MyShiroRealm myShiroRealm(){MyShiroRealm myShiroRealm = new MyShiroRealm();myShiroRealm.setCredentialsMatcher(hashedCredentialsMatcher());return myShiroRealm;
}

修改 MyShiroRealmdoGetAuthenticationInfo 方法


@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {//获取用户账号String username = token.getPrincipal().toString();User user = shiroService.getUserByUsername(username);if (!ObjectUtils.isEmpty(user)) {String realmName = getName();return new SimpleAuthenticationInfo(username, user.getPassword(), realmName);}return null;
}

到目前为止,我们已经成功的为 Shiro 配置了 MD5 这种加密方式。
下面我们来测试一下,先重启项目,注册新的账号,然后等新账号登录。如下图所示,登录成功。

这里写图片描述
这里写图片描述

单向hash加盐

单向hash算法,保证了即使是系统管理员也不能轻易的通过密文反推出密码原文。但是单向 hash 还是有个致命的缺点:相同的密码,hash值一样

改进的措施是引入一个 随机的因子 掺杂进明文中进行 hash 计算,这样的随机因子通常被称之为盐 (salt)。salt 一般是用户相关的,且要保证在一个系统内每一个用户的盐都不相同,这样就可以保证即使密码相同,hash 值也一定不相同。一般的做法是用用户表中的主键作为盐。因为在我们这个工程中没有数据库,所以我们把用户名作为盐来示范一下。

为 Shiro 的单项 hash 算法加上盐需要两步:

  • 修改注册用户的加密算法
  • 修改 MyShiroRealm 类中 doGetAuthenticationInfo 方法的返回值 SimpleAuthenticationInfo 的新建方法参数:盐

修改注册用户的加密算法

String newpwd = new SimpleHash("MD5", password, ByteSource.Util.bytes(username)).toHex();

@Overrideprotected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {//获取用户账号String username = token.getPrincipal().toString();User user = shiroService.getUserByUsername(username);if (!ObjectUtils.isEmpty(user)) {/*** 四个参数* principal:认证的实体信息,可以是username,也可以是数据库表对应的用户的实体对象* credentials:数据库中的密码(经过加密的密码)* credentialsSalt:盐值(使用用户名)* realmName:当前realm对象的name,调用父类的getName()方法即可*/String realmName = getName();String credentials = user.getPassword();ByteSource credentialsSalt = ByteSource.Util.bytes(username);return new SimpleAuthenticationInfo(username, credentials, credentialsSalt, realmName);}return null;}

Bcrypt

Shiro 框架没有内置 BCrypt 。需要我们引入新的库 jBCrypt:


<dependency><groupId>de.svenkubiak</groupId><artifactId>jBCrypt</artifactId><version>0.4.1</version>
</dependency>

在注册用户时修改加密方式,在 BCrypt 中我们不需要为每个用户分配不同的盐,只要使用 BCrypt.gensalt() 就可以生成盐。


public String encodeByBCrypt(String password) {return BCrypt.hashpw(password, BCrypt.gensalt());
}

在 Shiro 配置文件 ShiroConfig 中为我们自定义的 MyShiroRealm Bean 添加凭证匹配器 HashedCredentialsMatcher


/*** 自定义的Realm*/
@Bean(name = "myShiroRealm")
public MyShiroRealm myShiroRealm() {MyShiroRealm myShiroRealm = new MyShiroRealm();//配置单项hash//myShiroRealm.setCredentialsMatcher(hashedCredentialsMatcher());//配置 BCryptmyShiroRealm.setCredentialsMatcher(new CredentialsMatcher() {@Overridepublic boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) {UsernamePasswordToken userToken = (UsernamePasswordToken) token;//要验证的明文密码String plaintext = new String(userToken.getPassword());//数据库中的加密后的密文String hashed = info.getCredentials().toString();return BCrypt.checkpw(plaintext, hashed);}});return myShiroRealm;
}

到此为止,我们使用 BCrypt 算法加密了密码。如下图所示:

这里写图片描述
这里写图片描述
这里写图片描述

可以发现,相同密码加密两次后的密文是不一样的。

至此,我们已经完成了为 Shiro 使用 BCrypt 算法加密密码。

项目下载地址

  • github: spring-boot2-shiro-project

参考资料

  • 该如何设计你的 PasswordEncoder?
  • Shiro使用笔记
  • SpringBoot+JWT+Shiro+MybatisPlus实现Restful快速开发后端脚手架
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. shiro使用(使用token)

    既然要做,就做的细致一点&#xff0c;对得起自己&#xff01; 为什么使用token&#xff0c;请看这里 解决思路&#xff1a; 1.增加一个过滤器&#xff0c;对每一个请求都进行token的校验。如果为登录请求&#xff0c;则可以放过。 2.将过滤器设置进shiro中。 第一步&#…...

    2024/4/21 13:42:18
  2. SpringBoot集成Shiro安全框架

    SpringBoot集成Shiro安全框架1.shiro的定义2.SpringBoot集成shiro的步骤3.完成的效果1.shiro的定义 1.shiro的作用 认证、授权、加密、会话管理、Web集成、缓存 2.shiro的名词 Authentication:身份认证/登录&#xff0c;验证用户是不是拥有相应的身份 Authorization&#x…...

    2024/4/21 13:42:17
  3. springboot集成shiro 实现权限控制

    shiro apache shiro 是一个轻量级的身份验证与授权框架&#xff0c;与spring security 相比较&#xff0c;简单易用&#xff0c;灵活性高&#xff0c;springboot本身是提供了对security的支持&#xff0c;毕竟是自家的东西。springboot暂时没有集成shiro&#xff0c;这得自己配…...

    2024/4/21 13:42:15
  4. Shiro步步为营--奇淫技巧

    目录 会话管理 启用会话管理 自定义SessionDAO 会话验证 关于缓存 记住我 认证VS记住我 启用记住我 会话管理 Shiro 提供了完整的企业级会话管理功能&#xff0c;不依赖于底层容器&#xff08;如web容器tomcat&#xff09;&#xff0c;不管 JavaSE 还是 JavaEE 环境都…...

    2024/4/21 13:42:14
  5. ssm整合shiro详解

    这里有详细的ssm整合shiro步骤,需要先搭建ssm框架&#xff0c;教程在 https://blog.csdn.net/qq_41150890/article/details/108419455 整合shiro&#xff1a; 1.在pom.xml中引入依赖 <!-- shiro --><!-- https://mvnrepository.com/artifact/org.apache.shiro/shi…...

    2024/4/21 13:42:14
  6. shiro 用法

    最近在做项目的时候需要用到shiro做认证和授权来管理资源 在网上看了很多文章&#xff0c;发现大多数都是把官方文档的简介摘抄一段&#xff0c;然后就开始贴代码&#xff0c;告诉你怎么怎么做&#xff0c;怎么怎么做 相信很多小伙伴即使是跟着那些示例代码做完配完&#xff…...

    2024/4/20 15:51:00
  7. 2 Apache Shiro 身份认证(登录)

    2.1 概述 身份认证通常需要提供“用户”身份ID和一些标识信息&#xff0c;如用户名、密码。 Shiro 中需要提供 principals&#xff08;身份&#xff09;和 credentials&#xff08;凭证&#xff09;用于验证用户身份。 principals 身份&#xff0c;即主体的标识属性&#x…...

    2024/4/20 4:45:47
  8. Shiro权限控制+整合shiro

    Shiro权限控制 0.1传统的权限认证方式 特点&#xff1a;为每个人单独的分配权限模块&#xff0c;能够实现权限控制&#xff0c;但是当公司人员庞大之后&#xff0c;非常难管理 上述权限控制如何设计表&#xff1f; 关系&#xff1a;员工和菜单权限的关系&#xff1a;多对多 …...

    2024/4/20 15:51:00
  9. 【Shiro】Shiro登录验证失败问题

    shiro登录验证一直失败&#xff1a; 原因&#xff1a; 在用户注册时&#xff0c;采用如下加密方法&#xff1a; /*** md5加密工具* param var* 要加密的字符串* param iterations* 加密次数* return*/ public static String encrypt(String var,int iterations){return new …...

    2024/4/20 15:50:57
  10. shiro

    shiro 权限管理 权限管理 权限管理分为认证和授权 认证 认证的基本概念 身份认证&#xff1a;校验用户是不是系统合法用户的过程&#xff08;登录&#xff09; 身份认证&#xff0c;就是判断一个用户是否为合法用户的处理过程。 最常用的简单身份认证方式是系统通过核对用…...

    2024/4/21 13:42:12
  11. Shiro————核心设计思想

    引言 以此篇博客为引&#xff0c;开启一个新的专栏分类——Shiro。 之前在工作中有比较快速的学习过Shiro安全框架&#xff0c;但经过一年的荒废&#xff0c;已经不是很熟悉了&#xff0c;通过这个系列&#xff0c;深入研究和学习Shiro的一些知识&#xff0c;填补安全管理方面…...

    2024/4/21 13:42:11
  12. Shiro 教程

    Shiro是apache提供的强大而灵活的开源安全框架&#xff0c;它主要用来处理身份认证&#xff0c;授权&#xff0c;企业会话管理和加密。 shiro功能&#xff1a;用户验证、用户执行访问权限控制、在任何环境下使用session API&#xff0c;如cs程序。可以使用多数据源如同时使用or…...

    2024/4/21 13:42:11
  13. springboo2.x权限 demo(shiro,sprng security,oauth2)

    原文发布于: http://blog.ztgreat.cn/article/70 前言 这是一篇关于权限方面的文章&#xff0c;这是去年的时候结合一些简单的项目&#xff0c;自己抽空瞎折腾的学习demo&#xff0c;进行了一定的整理&#xff0c;涉及的内容包括 spring boot 2.x&#xff0c;shiro&#xff0c…...

    2024/4/21 13:42:09
  14. Springboot Shiro的集成

    Springboot Shiro的集成 1.添加依赖 <shiro.version>1.4.0</shiro.version><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-core</artifactId><version>${shiro.version}</version><...

    2024/4/21 13:42:08
  15. Shiro学习(17)OAuth2集成

    目前很多开放平台如新浪微博开放平台都在使用提供开放API接口供开发者使用&#xff0c;随之带来了第三方应用要到开放平台进行授权的问题&#xff0c;OAuth就是干这个的&#xff0c;OAuth2是OAuth协议的下一个版本&#xff0c;相比OAuth1&#xff0c;OAuth2整个授权流程更简单安…...

    2024/4/21 13:42:07
  16. Spring Boot Shiro 权限管理

    本来是打算接着写关于数据库方面&#xff0c;集成MyBatis的&#xff0c;刚好赶上朋友问到Shiro权限管理&#xff0c;就先总结下发出来了。 使用Shiro之前用在Spring MVC中&#xff0c;是通过XML文件进行配置。 既然现在在写Spring Boot的帖子&#xff0c;就将Shiro应用到Spri…...

    2024/4/21 13:42:07
  17. Shiro步步为营--如何优雅地与JWT集成

    目录 鉴权流程 项目搭建 pom.xml 配置Shiro 用户登录 LoginController.java ShiroRealm.java BaseResponse.java UserEntity.java 签发Token 再次请求 ArticleController.java JwtFilter.java JwtToken.java JwtRealm.java JwtCredentialsMatcher.java MultiR…...

    2024/4/21 13:42:05
  18. SpringBoot2.0,Thymeleaf与Shiro整合

    前言 在2017年年底发布的一篇博客中介绍了前后端分离的场景下&#xff0c;springboot与shiro整合&#xff0c;时隔一年多&#xff0c;springboot早已升级到2.X&#xff0c;前后端分离也慢慢回归一体化&#xff0c;于是有了这样一篇博客&#xff0c;本文主要介绍在前后端不分离…...

    2024/4/21 13:42:04
  19. 升级shiro对quartz 2的支持

    缘由&#xff1a;在使用shiro时&#xff0c;如果Quartz 为Quartz 2的版本&#xff0c;则抛出异常java.lang.InstantiationError: org.quartz.SimpleTrigger。原因是默认的shiro-quartz1.2.3中的实现是针对quartz1.6版本的实现&#xff08;详细源码请查看org.apache.shiro.sessi…...

    2024/4/21 13:42:03
  20. 郑州双眼皮手术TOP明星实价

    ...

    2024/4/21 13:42:02

最新文章

  1. 偶然发现了Python的一个BUG。。。

    一般情况下&#xff0c;dict(id1, **{id: 1})这句代码应该报TypeError。但如果在捕获了其他异常的情况下&#xff0c;再来执行这句代码&#xff0c;却是会报KeyError&#xff0c;如下图&#xff1a; Python3.10和Python3.9也能复现该情况&#xff0c;正当我摩拳踩掌&#xff0c…...

    2024/5/6 8:12:07
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 【蓝桥杯】省模拟赛

    题目 1.奇数次数2.最小步数3.最大极小值和最小极大值 1.奇数次数 问题描述 给定一个仅包含数字字符的字符串&#xff0c;统计一下这个字符串中出现了多少个值为奇数的数位。 输入格式 输入一行包含一个字符串&#xff0c;仅由数字字符组成。 输出格式 输出一行包含一个整数&am…...

    2024/5/1 19:23:28
  4. Java中的装饰器模式

    在Java中&#xff0c;装饰器模式允许我们动态地给对象添加新的行为或责任&#xff0c;而无需修改原有类。以下是一个简单的装饰器模式示例&#xff0c;我们将模拟一个咖啡销售系统&#xff0c;其中基础饮料类&#xff08;Component&#xff09;是Coffee&#xff0c;装饰器类&am…...

    2024/5/5 21:07:48
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/4 23:55:17
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/4 23:55:01
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57