Files
e-party-iOS/yana/Utils/Extensions/String+HashTest.swift
edwinQQQ c470dba79c feat: 更新项目配置和功能模块
- 修改Package.swift以支持iOS 15和macOS 12。
- 更新swift-tca-architecture-guidelines.mdc中的alwaysApply设置为false。
- 注释掉AppDelegate中的NIMSDK导入,移除不再使用的NIMConfigurationManager和NIMSessionManager文件。
- 添加新的API相关文件,包括EMailLoginFeature、IDLoginFeature和相关视图,增强登录功能。
- 更新APIConstants和APIEndpoints以反映新的API路径。
- 添加本地化支持文件,包含英文和中文简体的本地化字符串。
- 新增字体管理和安全工具类,支持AES和DES加密。
- 更新Xcode项目配置,调整版本号和启动画面设置。
2025-07-09 16:14:19 +08:00

83 lines
2.5 KiB
Swift

import Foundation
///
/// MD5 SHA256
struct StringHashTest {
///
static func runTests() {
print("🧪 开始测试字符串哈希方法...")
let testStrings = [
"hello world",
"test123",
"key=rpbs6us1m8r2j9g6u06ff2bo18orwaya",
"phone=encrypted_phone&password=encrypted_password&client_id=erban-client&key=rpbs6us1m8r2j9g6u06ff2bo18orwaya"
]
for testString in testStrings {
print("\n📝 测试字符串: \"\(testString)\"")
// MD5
let md5Result = testString.md5()
print(" MD5: \(md5Result)")
// SHA256 (iOS 13+)
if #available(iOS 13.0, *) {
let sha256Result = testString.sha256()
print(" SHA256: \(sha256Result)")
} else {
print(" SHA256: 不支持 (需要 iOS 13+)")
}
}
print("\n✅ 哈希方法测试完成")
}
///
static func verifyKnownHashes() {
print("\n🔍 验证已知哈希值...")
// "hello world" MD5 "5d41402abc4b2a76b9719d911017c592"
let testString = "hello world"
let expectedMD5 = "5d41402abc4b2a76b9719d911017c592"
let actualMD5 = testString.md5()
if actualMD5 == expectedMD5 {
print("✅ MD5 验证通过: \(actualMD5)")
} else {
print("❌ MD5 验证失败:")
print(" 期望: \(expectedMD5)")
print(" 实际: \(actualMD5)")
}
// SHA256
if #available(iOS 13.0, *) {
let expectedSHA256 = "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"
let actualSHA256 = testString.sha256()
if actualSHA256 == expectedSHA256 {
print("✅ SHA256 验证通过: \(actualSHA256)")
} else {
print("❌ SHA256 验证失败:")
print(" 期望: \(expectedSHA256)")
print(" 实际: \(actualSHA256)")
}
}
}
}
// MARK: - 使
/*
//
StringHashTest.runTests()
StringHashTest.verifyKnownHashes()
//
print("Test MD5:", "hello".md5())
if #available(iOS 13.0, *) {
print("Test SHA256:", "hello".sha256())
}
*/