BCryptPasswordEncoder加密算法的加密解密介绍

bcrypt是一种跨平台的文件加密工具。Bcrypt就是一款加密工具,可以比较方便地实现数据的加密工作。你也可以简单理解为它内部自己实现了随机加盐处理。
例如,我们使用MD5加密,每次加密后的密文其实都是一样的,这样就方便了MD5通过大数据的方式进行破解。

  • Bcrypt生成的密文是60位的。而MD5的是32位的。
  • 使用BCrypt 主要是能实现每次加密的值都是不一样的。

接下来我们用代码介绍一下吧

  • 依赖的包

      ```bash
      
            org.springframework.boot
            spring-boot-starter-security
      
      ```
    
    • 测试
    package com.kejizhentan;
    
    import org.junit.jupiter.api.Test;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
    
    import java.sql.SQLOutput;
    
    class RenthouseprojectApplicationTests {
    
        @Test
        public void contextLoads() {
            BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
            System.out.println(encoder.encode("123456"));//$2a$10$fiOX8fWXs6X4JZiLA7pcXeHbLbc5hsxse0mU6C4TxjTMcZ0NuP5.q
            System.out.println(encoder.encode("123456"));//$2a$10$IJAu/Gpcyzk5zparRyReH.fyrMVYsOQE4V2evat0SyQPaypZMU1r2
             /**
              *  通过打印后的信息可知,明文"123456"加密后的密文是:"$2a$10$IJAu/Gpcyzk5zparRyReH.fyrMVYsOQE4V2evat0SyQPaypZMU1r2"
              *  数据库存储的密码一般都是加密的密文,即$2a$10$IJAu/Gpcyzk5zparRyReH.fyrMVYsOQE4V2evat0SyQPaypZMU1r2
              *  用户前端输入的密码一般都是密文:123456
              *  注意:通过encoder.matches()方法对比密码时候,只能用明文和密文进行对比,否则即使匹配也对比不出来
             */
            String passwordDB = "$2a$10$IJAu/Gpcyzk5zparRyReH.fyrMVYsOQE4V2evat0SyQPaypZMU1r2";//模拟数据库加密后的密码
            String passwordDB2 = "$2a$10$fiOX8fWXs6X4JZiLA7pcXeHbLbc5hsxse0mU6C4TxjTMcZ0NuP5.q";
                if(encoder.matches("123456",passwordDB)){
                    System.out.println("true1");//输出true
                }else{
                    System.out.println("false1");
                }
    
                if(encoder.matches(passwordDB,passwordDB2)){
                    System.out.println("true2");
                }else{
                    System.out.println("false2");
                }
        }
    
    }
    
    • 运行结果:
    E:\execontext\apppackage\java\jdk\bin\java.exe -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:E:\execontext\apppackage\Idea\IntelliJ IDEA 2019.3.4\lib\idea_rt.jar=5130:E:\execontext\apppackage\Idea\IntelliJ IDEA 2019.3.4\bin" -Dfile.encoding=UTF-8 -classpath "E:\execontext\apppackage\Idea\IntelliJ IDEA 2019.3.4\lib\idea_rt.jar;E:\execontext\apppackage\Idea\IntelliJ IDEA 2019.3.4\plugins\junit\lib\junit5-rt.jar;E:\execontext\apppackage\Idea\IntelliJ IDEA 2019.3.4\plugins\junit\lib\junit-rt.jar;E:\execontext\apppackage\java\jdk\jre\lib\charsets.jar;E:\execontext\apppackage\java\jdk\jre\lib\deploy.jar;E:\execontext\apppackage\java\jdk\jre\lib\ext\access-bridge-64.jar;E:\execontext\apppackage\java\jdk\jre\lib\ext\cldrdata.jar;E:\execontext\apppackage\java\jdk\jre\lib\ext\dnsns.jar;E:\execontext\apppackage\java\jdk\jre\lib\ext\jaccess.jar;E:\execontext\apppackage\java\jdk\jre\lib\ext\jfxrt.jar;E:\execontext\apppackage\java\jdk\jre\lib\ext\localedata.jar;E:\execontext\apppackage\java\jdk\jre\lib\ext\nashorn.jar;E:\execontext\apppackage\java\jdk\jre\lib\ext\sunec.jar;E:\execontext\apppackage\java\jdk\jre\lib\ext\sunjce_provider.jar;E:\execontext\apppackage\java\jdk\jre\lib\ext\sunmscapi.jar;E:\execontext\apppackage\java\jdk\jre\lib\ext\sunpkcs11.jar;E:\execontext\apppackage\java\jdk\jre\lib\ext\zipfs.jar;E:\execontext\apppackage\java\jdk\jre\lib\javaws.jar;E:\execontext\apppackage\java\jdk\jre\lib\jce.jar;E:\execontext\apppackage\java\jdk\jre\lib\jfr.jar;E:\execontext\apppackage\java\jdk\jre\lib\jfxswt.jar;E:\execontext\apppackage\java\jdk\jre\lib\jsse.jar;E:\execontext\apppackage\java\jdk\jre\lib\management-agent.jar;E:\execontext\apppackage\java\jdk\jre\lib\plugin.jar;E:\execontext\apppackage\java\jdk\jre\lib\resources.jar;E:\execontext\apppackage\java\jdk\jre\lib\rt.jar;F:\08\project\renthouseproject\target\test-classes;F:\08\project\renthouseproject\target\classes;C:\Users\xiaosi\.m2\repository\org\springframework\boot\spring-boot-starter-thymeleaf\2.3.7.RELEASE\spring-boot-starter-thymeleaf-2.3.7.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\boot\spring-boot-starter\2.3.7.RELEASE\spring-boot-starter-2.3.7.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\boot\spring-boot\2.3.7.RELEASE\spring-boot-2.3.7.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.3.7.RELEASE\spring-boot-autoconfigure-2.3.7.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.3.7.RELEASE\spring-boot-starter-logging-2.3.7.RELEASE.jar;C:\Users\xiaosi\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\xiaosi\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\xiaosi\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.13.3\log4j-to-slf4j-2.13.3.jar;C:\Users\xiaosi\.m2\repository\org\apache\logging\log4j\log4j-api\2.13.3\log4j-api-2.13.3.jar;C:\Users\xiaosi\.m2\repository\org\slf4j\jul-to-slf4j\1.7.30\jul-to-slf4j-1.7.30.jar;C:\Users\xiaosi\.m2\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\Users\xiaosi\.m2\repository\org\yaml\snakeyaml\1.26\snakeyaml-1.26.jar;C:\Users\xiaosi\.m2\repository\org\thymeleaf\thymeleaf-spring5\3.0.11.RELEASE\thymeleaf-spring5-3.0.11.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\thymeleaf\thymeleaf\3.0.11.RELEASE\thymeleaf-3.0.11.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\attoparser\attoparser\2.0.5.RELEASE\attoparser-2.0.5.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\unbescape\unbescape\1.1.6.RELEASE\unbescape-1.1.6.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar;C:\Users\xiaosi\.m2\repository\org\thymeleaf\extras\thymeleaf-extras-java8time\3.0.4.RELEASE\thymeleaf-extras-java8time-3.0.4.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.3.7.RELEASE\spring-boot-starter-web-2.3.7.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.3.7.RELEASE\spring-boot-starter-json-2.3.7.RELEASE.jar;C:\Users\xiaosi\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.11.3\jackson-databind-2.11.3.jar;C:\Users\xiaosi\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.11.3\jackson-annotations-2.11.3.jar;C:\Users\xiaosi\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.11.3\jackson-core-2.11.3.jar;C:\Users\xiaosi\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.11.3\jackson-datatype-jdk8-2.11.3.jar;C:\Users\xiaosi\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.11.3\jackson-datatype-jsr310-2.11.3.jar;C:\Users\xiaosi\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.11.3\jackson-module-parameter-names-2.11.3.jar;C:\Users\xiaosi\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\2.3.7.RELEASE\spring-boot-starter-tomcat-2.3.7.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.41\tomcat-embed-core-9.0.41.jar;C:\Users\xiaosi\.m2\repository\org\glassfish\jakarta.el\3.0.3\jakarta.el-3.0.3.jar;C:\Users\xiaosi\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.41\tomcat-embed-websocket-9.0.41.jar;C:\Users\xiaosi\.m2\repository\org\springframework\spring-web\5.2.12.RELEASE\spring-web-5.2.12.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\spring-beans\5.2.12.RELEASE\spring-beans-5.2.12.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\spring-webmvc\5.2.12.RELEASE\spring-webmvc-5.2.12.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\spring-context\5.2.12.RELEASE\spring-context-5.2.12.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\spring-expression\5.2.12.RELEASE\spring-expression-5.2.12.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\boot\spring-boot-starter-security\2.3.7.RELEASE\spring-boot-starter-security-2.3.7.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\spring-aop\5.2.12.RELEASE\spring-aop-5.2.12.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\security\spring-security-config\5.3.6.RELEASE\spring-security-config-5.3.6.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\security\spring-security-core\5.3.6.RELEASE\spring-security-core-5.3.6.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\security\spring-security-web\5.3.6.RELEASE\spring-security-web-5.3.6.RELEASE.jar;C:\Users\xiaosi\.m2\repository\mysql\mysql-connector-java\5.1.12\mysql-connector-java-5.1.12.jar;C:\Users\xiaosi\.m2\repository\org\mybatis\spring\boot\mybatis-spring-boot-starter\1.3.2\mybatis-spring-boot-starter-1.3.2.jar;C:\Users\xiaosi\.m2\repository\org\mybatis\spring\boot\mybatis-spring-boot-autoconfigure\1.3.2\mybatis-spring-boot-autoconfigure-1.3.2.jar;C:\Users\xiaosi\.m2\repository\org\mybatis\mybatis\3.4.6\mybatis-3.4.6.jar;C:\Users\xiaosi\.m2\repository\org\mybatis\mybatis-spring\1.3.2\mybatis-spring-1.3.2.jar;C:\Users\xiaosi\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\2.3.7.RELEASE\spring-boot-starter-jdbc-2.3.7.RELEASE.jar;C:\Users\xiaosi\.m2\repository\com\zaxxer\HikariCP\3.4.5\HikariCP-3.4.5.jar;C:\Users\xiaosi\.m2\repository\org\springframework\spring-jdbc\5.2.12.RELEASE\spring-jdbc-5.2.12.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\spring-tx\5.2.12.RELEASE\spring-tx-5.2.12.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\projectlombok\lombok\1.18.16\lombok-1.18.16.jar;C:\Users\xiaosi\.m2\repository\org\springframework\boot\spring-boot-starter-data-jpa\2.3.7.RELEASE\spring-boot-starter-data-jpa-2.3.7.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\boot\spring-boot-starter-aop\2.3.7.RELEASE\spring-boot-starter-aop-2.3.7.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\aspectj\aspectjweaver\1.9.6\aspectjweaver-1.9.6.jar;C:\Users\xiaosi\.m2\repository\jakarta\transaction\jakarta.transaction-api\1.3.3\jakarta.transaction-api-1.3.3.jar;C:\Users\xiaosi\.m2\repository\jakarta\persistence\jakarta.persistence-api\2.2.3\jakarta.persistence-api-2.2.3.jar;C:\Users\xiaosi\.m2\repository\org\hibernate\hibernate-core\5.4.25.Final\hibernate-core-5.4.25.Final.jar;C:\Users\xiaosi\.m2\repository\org\jboss\logging\jboss-logging\3.4.1.Final\jboss-logging-3.4.1.Final.jar;C:\Users\xiaosi\.m2\repository\org\javassist\javassist\3.27.0-GA\javassist-3.27.0-GA.jar;C:\Users\xiaosi\.m2\repository\net\bytebuddy\byte-buddy\1.10.18\byte-buddy-1.10.18.jar;C:\Users\xiaosi\.m2\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;C:\Users\xiaosi\.m2\repository\org\jboss\jandex\2.1.3.Final\jandex-2.1.3.Final.jar;C:\Users\xiaosi\.m2\repository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;C:\Users\xiaosi\.m2\repository\org\dom4j\dom4j\2.1.3\dom4j-2.1.3.jar;C:\Users\xiaosi\.m2\repository\org\hibernate\common\hibernate-commons-annotations\5.1.2.Final\hibernate-commons-annotations-5.1.2.Final.jar;C:\Users\xiaosi\.m2\repository\org\glassfish\jaxb\jaxb-runtime\2.3.3\jaxb-runtime-2.3.3.jar;C:\Users\xiaosi\.m2\repository\org\glassfish\jaxb\txw2\2.3.3\txw2-2.3.3.jar;C:\Users\xiaosi\.m2\repository\com\sun\istack\istack-commons-runtime\3.0.11\istack-commons-runtime-3.0.11.jar;C:\Users\xiaosi\.m2\repository\com\sun\activation\jakarta.activation\1.2.2\jakarta.activation-1.2.2.jar;C:\Users\xiaosi\.m2\repository\org\springframework\data\spring-data-jpa\2.3.6.RELEASE\spring-data-jpa-2.3.6.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\data\spring-data-commons\2.3.6.RELEASE\spring-data-commons-2.3.6.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\spring-orm\5.2.12.RELEASE\spring-orm-5.2.12.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\spring-aspects\5.2.12.RELEASE\spring-aspects-5.2.12.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\boot\spring-boot-starter-test\2.3.7.RELEASE\spring-boot-starter-test-2.3.7.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\boot\spring-boot-test\2.3.7.RELEASE\spring-boot-test-2.3.7.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\boot\spring-boot-test-autoconfigure\2.3.7.RELEASE\spring-boot-test-autoconfigure-2.3.7.RELEASE.jar;C:\Users\xiaosi\.m2\repository\com\jayway\jsonpath\json-path\2.4.0\json-path-2.4.0.jar;C:\Users\xiaosi\.m2\repository\net\minidev\json-smart\2.3\json-smart-2.3.jar;C:\Users\xiaosi\.m2\repository\net\minidev\accessors-smart\1.2\accessors-smart-1.2.jar;C:\Users\xiaosi\.m2\repository\org\ow2\asm\asm\5.0.4\asm-5.0.4.jar;C:\Users\xiaosi\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.3\jakarta.xml.bind-api-2.3.3.jar;C:\Users\xiaosi\.m2\repository\jakarta\activation\jakarta.activation-api\1.2.2\jakarta.activation-api-1.2.2.jar;C:\Users\xiaosi\.m2\repository\org\assertj\assertj-core\3.16.1\assertj-core-3.16.1.jar;C:\Users\xiaosi\.m2\repository\org\hamcrest\hamcrest\2.2\hamcrest-2.2.jar;C:\Users\xiaosi\.m2\repository\org\junit\jupiter\junit-jupiter\5.6.3\junit-jupiter-5.6.3.jar;C:\Users\xiaosi\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.6.3\junit-jupiter-api-5.6.3.jar;C:\Users\xiaosi\.m2\repository\org\apiguardian\apiguardian-api\1.1.0\apiguardian-api-1.1.0.jar;C:\Users\xiaosi\.m2\repository\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;C:\Users\xiaosi\.m2\repository\org\junit\platform\junit-platform-commons\1.6.3\junit-platform-commons-1.6.3.jar;C:\Users\xiaosi\.m2\repository\org\junit\jupiter\junit-jupiter-params\5.6.3\junit-jupiter-params-5.6.3.jar;C:\Users\xiaosi\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.6.3\junit-jupiter-engine-5.6.3.jar;C:\Users\xiaosi\.m2\repository\org\junit\platform\junit-platform-engine\1.6.3\junit-platform-engine-1.6.3.jar;C:\Users\xiaosi\.m2\repository\org\mockito\mockito-core\3.3.3\mockito-core-3.3.3.jar;C:\Users\xiaosi\.m2\repository\net\bytebuddy\byte-buddy-agent\1.10.18\byte-buddy-agent-1.10.18.jar;C:\Users\xiaosi\.m2\repository\org\objenesis\objenesis\2.6\objenesis-2.6.jar;C:\Users\xiaosi\.m2\repository\org\mockito\mockito-junit-jupiter\3.3.3\mockito-junit-jupiter-3.3.3.jar;C:\Users\xiaosi\.m2\repository\org\skyscreamer\jsonassert\1.5.0\jsonassert-1.5.0.jar;C:\Users\xiaosi\.m2\repository\com\vaadin\external\google\android-json\0.0.20131108.vaadin1\android-json-0.0.20131108.vaadin1.jar;C:\Users\xiaosi\.m2\repository\org\springframework\spring-core\5.2.12.RELEASE\spring-core-5.2.12.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\spring-jcl\5.2.12.RELEASE\spring-jcl-5.2.12.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\spring-test\5.2.12.RELEASE\spring-test-5.2.12.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\xmlunit\xmlunit-core\2.7.0\xmlunit-core-2.7.0.jar;C:\Users\xiaosi\.m2\repository\com\qiniu\qiniu-java-sdk\7.4.0\qiniu-java-sdk-7.4.0.jar;C:\Users\xiaosi\.m2\repository\com\squareup\okhttp3\okhttp\3.14.9\okhttp-3.14.9.jar;C:\Users\xiaosi\.m2\repository\com\squareup\okio\okio\1.17.2\okio-1.17.2.jar;C:\Users\xiaosi\.m2\repository\com\google\code\gson\gson\2.8.6\gson-2.8.6.jar;C:\Users\xiaosi\.m2\repository\javax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar;C:\Users\xiaosi\.m2\repository\org\modelmapper\modelmapper\1.1.0\modelmapper-1.1.0.jar;C:\Users\xiaosi\.m2\repository\org\springframework\boot\spring-boot-starter-data-redis\2.3.7.RELEASE\spring-boot-starter-data-redis-2.3.7.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\data\spring-data-redis\2.3.6.RELEASE\spring-data-redis-2.3.6.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\data\spring-data-keyvalue\2.3.6.RELEASE\spring-data-keyvalue-2.3.6.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\spring-oxm\5.2.12.RELEASE\spring-oxm-5.2.12.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\spring-context-support\5.2.12.RELEASE\spring-context-support-5.2.12.RELEASE.jar;C:\Users\xiaosi\.m2\repository\io\lettuce\lettuce-core\5.3.5.RELEASE\lettuce-core-5.3.5.RELEASE.jar;C:\Users\xiaosi\.m2\repository\io\netty\netty-common\4.1.55.Final\netty-common-4.1.55.Final.jar;C:\Users\xiaosi\.m2\repository\io\netty\netty-handler\4.1.55.Final\netty-handler-4.1.55.Final.jar;C:\Users\xiaosi\.m2\repository\io\netty\netty-resolver\4.1.55.Final\netty-resolver-4.1.55.Final.jar;C:\Users\xiaosi\.m2\repository\io\netty\netty-buffer\4.1.55.Final\netty-buffer-4.1.55.Final.jar;C:\Users\xiaosi\.m2\repository\io\netty\netty-codec\4.1.55.Final\netty-codec-4.1.55.Final.jar;C:\Users\xiaosi\.m2\repository\io\netty\netty-transport\4.1.55.Final\netty-transport-4.1.55.Final.jar;C:\Users\xiaosi\.m2\repository\io\projectreactor\reactor-core\3.3.12.RELEASE\reactor-core-3.3.12.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\reactivestreams\reactive-streams\1.0.3\reactive-streams-1.0.3.jar;C:\Users\xiaosi\.m2\repository\org\springframework\session\spring-session-data-redis\2.3.1.RELEASE\spring-session-data-redis-2.3.1.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\springframework\session\spring-session-core\2.3.1.RELEASE\spring-session-core-2.3.1.RELEASE.jar;C:\Users\xiaosi\.m2\repository\org\jetbrains\annotations\20.1.0\annotations-20.1.0.jar;C:\Users\xiaosi\.m2\repository\org\junit\platform\junit-platform-launcher\1.6.3\junit-platform-launcher-1.6.3.jar" com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit5 com.kejizhentan.RenthouseprojectApplicationTests,contextLoads
    
    $2a$10$y6hcZ4j71z8RAmQ0lreMCufJo44pfzNLMqVVmSb1G1ODGJLdJ.58y
    $2a$10$vfUzHi0Pumk4Js8a9d/4p.ojXt5Ob3bcduxgMiBrDbqlCKdRWEsVi
    true1
    false2
    
    
    Process finished with exit code 0
    
    

你可能感兴趣的:(加密解密)