Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

结构体

struct HashType

public struct HashType <: ToString & Equatable<HashType>

功能:此类为 Hash 算法类别结构体,MD5SHA1SHA224SHA256SHA384SHA512 均为常用摘要算法。

父类型:

prop MD5

public static prop MD5: HashType

功能:返回 MD5 类型。

类型:HashType

示例:

import stdx.crypto.digest.*

main() {
    let md5Type = HashType.MD5
    println("MD5类型: ${md5Type}")

    return 0
}

运行结果:

MD5类型: MD5

prop SHA1

public static prop SHA1: HashType

功能:返回 SHA1 类型。

类型:HashType

示例:

import stdx.crypto.digest.*

main() {
    let sha1Type = HashType.SHA1
    println("SHA1类型: ${sha1Type}")

    return 0
}

运行结果:

SHA1类型: SHA1

prop SHA224

public static prop SHA224: HashType

功能:返回 SHA224 类型。

类型:HashType

示例:

import stdx.crypto.digest.*

main() {
    let sha224Type = HashType.SHA224
    println("SHA224类型: ${sha224Type}")

    return 0
}

运行结果:

SHA224类型: SHA224

prop SHA256

public static prop SHA256: HashType

功能:返回 SHA256 类型。

类型:HashType

示例:

import stdx.crypto.digest.*

main() {
    let sha256Type = HashType.SHA256
    println("SHA256类型: ${sha256Type}")

    return 0
}

运行结果:

SHA256类型: SHA256

prop SHA384

public static prop SHA384: HashType

功能:返回 SHA384 类型。

类型:HashType

示例:

import stdx.crypto.digest.*

main() {
    let sha384Type = HashType.SHA384
    println("SHA384类型: ${sha384Type}")

    return 0
}

运行结果:

SHA384类型: SHA384

prop SHA512

public static prop SHA512: HashType

功能:返回 SHA512 类型。

类型:HashType

示例:

import stdx.crypto.digest.*

main() {
    let sha512Type = HashType.SHA512
    println("SHA512类型: ${sha512Type}")

    return 0
}

运行结果:

SHA512类型: SHA512

prop SM3

public static prop SM3: HashType

功能:返回 SM3 类型。

类型:HashType

示例:

import stdx.crypto.digest.*

main() {
    let sm3Type = HashType.SM3
    println("SM3类型: ${sm3Type}")

    return 0
}

运行结果:

SM3类型: SM3

func toString()

public func toString(): String

功能:获取 Hash 算法名称。

返回值:

  • String - Hash 算法名称。

示例:

import stdx.crypto.digest.*

main() {
    let md5Type = HashType.MD5
    let sha1Type = HashType.SHA1

    let md5Name = md5Type.toString()
    let sha1Name = sha1Type.toString()

    println("MD5名称: ${md5Name}")
    println("SHA1名称: ${sha1Name}")

    return 0
}

运行结果:

MD5名称: MD5
SHA1名称: SHA1

operator func !=(HashType)

public override operator func !=(other: HashType): Bool

功能:判断两 HashType 是否引用不同实例。

参数:

  • other: HashType - 对比的 HashType。

返回值:

  • Bool - 不相同返回 true;否则,返回 false

示例:

import stdx.crypto.digest.*

main() {
    let md5Type = HashType.MD5
    let sha1Type = HashType.SHA1
    let anotherMd5Type = HashType.MD5

    let isNotEqual1 = md5Type != sha1Type
    let isNotEqual2 = md5Type != anotherMd5Type

    println("MD5 != SHA1: ${isNotEqual1}")
    println("MD5 != MD5: ${isNotEqual2}")

    return 0
}

运行结果:

MD5 != SHA1: true
MD5 != MD5: false

operator func ==(HashType)

public override operator func ==(other: HashType): Bool

功能:判断两 HashType 是否引用同一实例。

参数:

  • other: HashType - 对比的 HashType。

返回值:

  • Bool - 相同返回 true;否则,返回 false

示例:

import stdx.crypto.digest.*

main() {
    let md5Type = HashType.MD5
    let sha1Type = HashType.SHA1
    let anotherMd5Type = HashType.MD5

    let isEqual1 = md5Type == sha1Type
    let isEqual2 = md5Type == anotherMd5Type

    println("MD5 == SHA1: ${isEqual1}")
    println("MD5 == MD5: ${isEqual2}")

    return 0
}

运行结果:

MD5 == SHA1: false
MD5 == MD5: true