From 98b4dc639c467a763d440291c6fb7532386588c4 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 21 May 2020 13:54:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0String=E7=9A=84MD5=E7=AE=97?= =?UTF-8?q?=E6=B3=95,=E4=BF=AE=E6=94=B9=E7=99=BB=E5=BD=95=E5=80=9F?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kotlin/com/synebula/gaea/app/ILogin.kt | 15 --------- .../com/synebula/gaea/app/ISignInOut.kt | 24 ++++++++++++++ .../com/synebula/gaea/extension/StringExt.kt | 31 ++++++++++++++++--- 3 files changed, 51 insertions(+), 19 deletions(-) delete mode 100644 src/gaea.app/src/main/kotlin/com/synebula/gaea/app/ILogin.kt create mode 100644 src/gaea.app/src/main/kotlin/com/synebula/gaea/app/ISignInOut.kt diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/ILogin.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/ILogin.kt deleted file mode 100644 index 22a30ff..0000000 --- a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/ILogin.kt +++ /dev/null @@ -1,15 +0,0 @@ -package com.synebula.gaea.app - -import com.synebula.gaea.data.message.Message - - -interface ILogin { - /** - * 定义登录方法。 - * - * @param name 登录名 - * @param password 登录密码 - * @return StatusMessage, data 内容为 map 其中 key account中存储用户账户名称 - */ - fun login(name: String, password: String): Message -} diff --git a/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/ISignInOut.kt b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/ISignInOut.kt new file mode 100644 index 0000000..098ff75 --- /dev/null +++ b/src/gaea.app/src/main/kotlin/com/synebula/gaea/app/ISignInOut.kt @@ -0,0 +1,24 @@ +package com.synebula.gaea.app + +import org.springframework.http.HttpMessage + +/** + * 用户登入登出接口定义 + */ +interface ISignInOut { + /** + * 定义登录方法。 + * + * @param name 登录名 + * @param password 登录密码 + * @return StatusMessage, data 内容为 map 其中 key account中存储用户账户名称 + */ + fun signIn(name: String, password: String): HttpMessage + + /** + * 登出 + * + * @param user 登出的用户 + */ + fun signOut(user: String): HttpMessage +} diff --git a/src/gaea/src/main/kotlin/com/synebula/gaea/extension/StringExt.kt b/src/gaea/src/main/kotlin/com/synebula/gaea/extension/StringExt.kt index bbb7df2..490d14f 100644 --- a/src/gaea/src/main/kotlin/com/synebula/gaea/extension/StringExt.kt +++ b/src/gaea/src/main/kotlin/com/synebula/gaea/extension/StringExt.kt @@ -1,9 +1,32 @@ package com.synebula.gaea.extension +import java.math.BigInteger +import java.security.MessageDigest +import java.security.NoSuchAlgorithmException + +/** + * 首字母小写 + */ fun String.firstCharLowerCase(): String { - if (Character.isLowerCase(this.elementAt(0))) - return this + return if (Character.isLowerCase(this.elementAt(0))) + this else - return StringBuilder().append(Character.toLowerCase(this.elementAt(0))) + StringBuilder().append(Character.toLowerCase(this.elementAt(0))) .append(this.substring(1)).toString() -} \ No newline at end of file +} + +/** + * 获取字符串的MD值 + */ +fun String.toMd5(): String { + val secretBytes = try { + MessageDigest.getInstance("md5").digest(this.toByteArray()) + } catch (e: NoSuchAlgorithmException) { + throw RuntimeException("没有这个md5算法!") + } + var md5code = BigInteger(1, secretBytes).toString(16) + for (i in 0 until 32 - md5code.length) { + md5code = "0$md5code" + } + return md5code +}