MyCat 明文密码安全性问题

試著忘記壹切 提交于 2020-01-19 04:31:00

在 schema.xml 配置文件中,我们在配置 物理库 信息时,会对 url、user、password 等进行配置,但是这里用到的 password 会使用到明文密码。在线上环境中,如果我们使用这种明文密码,显然是不安全的。

       针对这种问题,MyCat 为我们提供了解决方案。我们进入 mycat/lib 目录下,此时我们会看到一个 Mycat-server-xxxxxx 开头的jar 包。

通过使用如下命令,便能够完成对密码的加密操作。

命令:java -cp Mycat-server-1.6.7.3-release.jar io.mycat.util.DecryptUtil 1:hostM1:root:123456

这里的 1 指什么呢?hostM1又是指什么呢?接下来详细简解

其中 0:user:password是加密字符串,有两种格式:

1.dataHost加密格式:

    1:hostM1:root:123456

    注释:

        1代表是dataHost加密

        hostM1是<writeHost host="hostM1" 

        root是user="root"

       123456是 password=明文密码(123456)

    对应 writeHost 配置:

    <writeHost host="hostM1" url="localhost:3306" user="root" 
                       password="BpkNIjF7LfzS1C76HT7B1bJgmGIDtPihqIvHBlC92L1IFqsMfoJEMk1EkxSzjaJstdAp5w=="                                     usingDecrypt="1">
          <!-- can have multi read hosts -->
    </writeHost>

0.mycat用户登录密码加密格式

     0:root:123456

     注释:

          0代表mycat用户登录密码加密

    对应 user 配置:
           <user name="root" defaultAccount="true">
                <property name="usingDecrypt">1</property>
                <property name="password">d6D+pOmkuUoY09p4/aivwMsScLa7zfjIwAxvkEhr3v7en06mEXoX==</property>
                <property name="schemas">TESTDB</property>
           </user>   

注意!!!

     使用密文,需要添加 usingDecrypt="1" ,改属性默认值为0

     <writeHost host="hostM1" url="192.168.204.201:3306" user="root"  password="明文密码">
          <!-- can have multi read hosts -->
          <readHost host="hostS1" url="192.168.204.202:3306" user="root" password="密文密码" usingDecrypt="1"/>
      </writeHost>

加密后的密码,如下图所示

接下来,你便可以使用 加密后的密码 + usingDecrypt 属性 来使用密文密码了。


MyCat 明文密码安全性问题,介绍到此为止

如果本文对你有所帮助,那就给我点个赞呗 ^_^ 

End

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!