
- 在Package.swift中注释掉旧的swift-composable-architecture依赖,并添加swift-case-paths依赖。 - 在Podfile中将iOS平台版本更新至16.0,并移除QCloudCOSXML/Transfer依赖,改为使用QCloudCOSXML。 - 更新Podfile.lock以反映依赖变更,确保项目依赖的准确性。 - 新增架构分析需求文档,明确项目架构评估和改进建议。 - 在多个文件中实现async/await语法,提升异步操作的可读性和性能。 - 更新日志输出方法,确保在调试模式下提供一致的调试信息。 - 优化多个视图组件,提升用户体验和代码可维护性。
84 lines
2.7 KiB
Swift
84 lines
2.7 KiB
Swift
import Foundation
|
|
|
|
/// 字符串哈希方法测试工具
|
|
/// 用于验证 MD5 和 SHA256 方法的正确性
|
|
struct StringHashTest {
|
|
|
|
/// 测试哈希方法
|
|
static func runTests() {
|
|
debugInfoSync("🧪 开始测试字符串哈希方法...")
|
|
|
|
let testStrings = [
|
|
"hello world",
|
|
"test123",
|
|
"key=rpbs6us1m8r2j9g6u06ff2bo18orwaya",
|
|
"phone=encrypted_phone&password=encrypted_password&client_id=erban-client&key=rpbs6us1m8r2j9g6u06ff2bo18orwaya"
|
|
]
|
|
|
|
for testString in testStrings {
|
|
debugInfoSync("\n📝 测试字符串: \"\(testString)\"")
|
|
|
|
// 测试 MD5
|
|
let md5Result = testString.md5()
|
|
debugInfoSync(" MD5: \(md5Result)")
|
|
|
|
// 测试 SHA256 (iOS 13+)
|
|
if #available(iOS 13.0, *) {
|
|
let sha256Result = testString.sha256()
|
|
debugInfoSync(" SHA256: \(sha256Result)")
|
|
} else {
|
|
debugInfoSync(" SHA256: 不支持 (需要 iOS 13+)")
|
|
}
|
|
}
|
|
|
|
debugInfoSync("\n✅ 哈希方法测试完成")
|
|
}
|
|
|
|
/// 验证已知的哈希值
|
|
static func verifyKnownHashes() {
|
|
debugInfoSync("\n🔍 验证已知哈希值...")
|
|
|
|
// 验证 "hello world" 的 MD5 应该是 "5d41402abc4b2a76b9719d911017c592"
|
|
let testString = "hello world"
|
|
let expectedMD5 = "5d41402abc4b2a76b9719d911017c592"
|
|
let actualMD5 = testString.md5()
|
|
|
|
if actualMD5 == expectedMD5 {
|
|
debugInfoSync("✅ MD5 验证通过: \(actualMD5)")
|
|
} else {
|
|
debugErrorSync("❌ MD5 验证失败:")
|
|
debugErrorSync(" 期望: \(expectedMD5)")
|
|
debugErrorSync(" 实际: \(actualMD5)")
|
|
}
|
|
|
|
// 验证 SHA256
|
|
if #available(iOS 13.0, *) {
|
|
let expectedSHA256 = "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"
|
|
let actualSHA256 = testString.sha256()
|
|
|
|
if actualSHA256 == expectedSHA256 {
|
|
debugInfoSync("✅ SHA256 验证通过: \(actualSHA256)")
|
|
} else {
|
|
debugErrorSync("❌ SHA256 验证失败:")
|
|
debugErrorSync(" 期望: \(expectedSHA256)")
|
|
debugErrorSync(" 实际: \(actualSHA256)")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// MARK: - 使用示例
|
|
/*
|
|
|
|
// 在适当的地方调用测试
|
|
StringHashTest.runTests()
|
|
StringHashTest.verifyKnownHashes()
|
|
|
|
// 或者在开发时快速测试
|
|
debugInfoSync("Test MD5:", "hello".md5())
|
|
if #available(iOS 13.0, *) {
|
|
debugInfoSync("Test SHA256:", "hello".sha256())
|
|
}
|
|
|
|
*/
|