Kotlin版本的MD5加密算法


fun encode(password: String): String {
        try {
            val instance:MessageDigest = MessageDigest.getInstance("MD5")//获取md5加密对象
            val digest:ByteArray = instance.digest(password.toByteArray())//对字符串加密,返回字节数组
            var sb : StringBuffer = StringBuffer()
            for (b in digest) {
                var i :Int = b.toInt() and 0xff//获取低八位有效值
                var hexString = Integer.toHexString(i)//将整数转化为16进制
                if (hexString.length < 2) {
                    hexString = "0" + hexString//如果是一位的话,补0
                }
                sb.append(hexString)
            }
            return sb.toString()

        } catch (e: NoSuchAlgorithmException) {
            e.printStackTrace()
        }

        return ""
    } 
其中需要注意的是:
1.java中的与运算是&,kotlin中是and
2.and运算需要两边都是Int类型,这就意味着要类型转换,类型转换和java中的Long等包装类用起来差不多

你可能感兴趣的:(Kotlin)