
- 修改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项目配置,调整版本号和启动画面设置。
83 lines
2.5 KiB
Swift
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())
|
|
}
|
|
|
|
*/ |