Jump to content
七龙的秘密基地
Search In
  • More options...
Find results that contain...
Find results in...
  • entries
    4
  • comment
    1
  • views
    2,172

Entries in this blog

Java源码Steam游戏服务器信息查询Source Engine Query

查询steam游戏服务器信息API,可查询arma3,dayz等steam游戏   新建类 ServerPlayer.java 封装玩家信息 package com.destiny.kaiheila.destinybot.SteamServerQuery; public class ServerPlayer { public int PlayerIndex; public String PlayerName; public long PlayerScore; public float PlayerDuration; public ServerPlayer(int Index, String Name, long Score, float Duration) { this.PlayerIndex = Index; this.PlayerName = Name; this.PlayerScore = Score; this.PlayerDuration = Duration; } public int getI

elstp_gf@foxmail.com

elstp_gf@foxmail.com in Java

SpringSecurity中的强哈希加密算法BCryptPasswordEncoder

当时密码加密我还是停留在盐,第一次用Spring Security的时候,接触到了 BCryptPasswordEncoder  这个加密,当时非常好奇这个算法,因为它每次加密的密码都是不一样的,动态的   拆开发现,两个关键方法 BCrypt.hashpw和BCrypt.gensalt 仔细看能发现这个加密算法是用的强哈希+盐+密钥,默认情况是的密码,因为使用到了哈希,所以是密码是不可逆的,这样就算你密码泄露了别人也不知道密码明文是什么 看gensalt 有没有很熟悉 这个盐和生成的密码前缀是不是有点像,生成了一个带盐的哈希 再看hashpw 里面一大堆代码都是在校验密文 注意看,这里已经开始截取上面生成的哈希盐了 String real_salt = salt.substring(off + 3, off + 25); 最后工序就是解码base64和编码64 然后生成的结果就是我们现在看见的,同一个密码,每一次都不一样的密文  

elstp_gf@foxmail.com

elstp_gf@foxmail.com in Java

Springboot AOP(面向切面)之自定义实体类校验注解 使用BindingResult校验

那么我们可以简化,使用自己写的一个注解注入到服务层,让其自己完成必须参数的校验功能 maven项目引入   <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> </dependency> 建一个实体类对象 public class Parameter { @NotEmpty(message="姓名不能为空") private String name; @Min(value = 18, message = "年龄必须大于18岁") private int age; @NotEmpty(message="hobbies不能为空") private List<String> hobbies; } 新建一个自定义注解接口 /**检查方法实体类是否

elstp_gf@foxmail.com

elstp_gf@foxmail.com in Java

Springboot rabbitMQ消息队列配置手动确认机制 配置消费者与生产者和死信交换机

在application.yml文件中配置web以及rabbitmq的配置信息 spring: rabbitmq: host: 127.0.0.1 port: 5672 username: root password: 9YoIu # 发送者开启 return 确认机制 publisher-returns: true # 发送者开启 confirm 确认机制 publisher-confirm-type: correlated listener.simple: # 设置消费端手动 ack acknowledge-mode: manual # 是否支持重试 retry: enabled: true 在maven中引入依赖: <!--MQ消息队列--> <dependency> <groupId>org.springframework.boot</groupId&

elstp_gf@foxmail.com

elstp_gf@foxmail.com in Java

×
×
  • Create New...