A concise and efficient macOS hash calculation tool that supports multiple hash algorithms and batch file processing.
- 🔐 Multiple Hash Algorithm Support: MD5, SHA-1, CRC32
- 📁 Batch File Processing: Calculate hash values for multiple files simultaneously
- 🎯 Drag & Drop Operation: Simply drag files to the application window to start calculation
- 📋 One-Click Copy: Click to copy hash values to clipboard
- 📊 File Information Display: Shows file size, version info, modification date, etc.
- 🌍 Multilingual Support: Supports 22 languages including Chinese, English, Japanese, Korean, German, French, Spanish, Russian, Arabic, etc.
- 🎨 Modern Interface: Native macOS app built with SwiftUI
- ⚡ High Performance Computing: Asynchronous processing with support for large files
Main interface of the Hash application, showcasing file selection, hash calculation, and result display features
- macOS 11.0 or later
- Xcode 13.0 or later (for development)
- Clone the repository:
git clone https://github.com/iOSDevLog/Hash
cd Hash
- Open the project with Xcode:
open Hash.xcodeproj
- Build and run the project in Xcode (⌘+R)
-
Launch the Application: Double-click the app icon or launch from Launchpad
-
Add Files:
- Click the "Select Files" button to choose files
- Or drag files directly to the application window
-
Select Hash Algorithm:
- Check the desired hash algorithms in the right panel
- Supports MD5, SHA-1, CRC32
-
Start Calculation:
- Click the "Start Calculation" button
- Or calculation starts automatically after adding files
-
Copy Results:
- Click any hash value to copy to clipboard
- Supports copying individual hash values or all results
- Batch Processing: Add multiple files for simultaneous batch calculation
- Progress Display: Real-time calculation progress display
- File Management: Support for clearing individual files or all files
- Result Export: Copy all calculation results
- SwiftUI: Modern user interface framework
- CryptoKit: Apple's official cryptographic framework for SHA-1 calculation
- Foundation: For MD5 and file operations
- UniformTypeIdentifiers: File type identification
Hash/
├── Hash/
│ ├── ContentView.swift # Main interface view
│ ├── HashApp.swift # Application entry point
│ ├── Assets.xcassets/ # Application resources
│ │ └── AppIcon.appiconset/ # Application icon
│ ├── Hash.entitlements # Application permissions
│ └── *.lproj/ # Multilingual localization files
├── HashTests/ # Unit tests
└── HashUITests/ # UI tests
- MD5: Implemented using CommonCrypto framework
- SHA-1: Implemented using CryptoKit framework
- CRC32: Custom implementation using standard CRC32 polynomial
- Install Xcode 13.0 or later
- Ensure macOS version is 11.0 or later
- Clone the project and open in Xcode
# Build using Xcode command line tools
xcodebuild -project Hash.xcodeproj -scheme Hash -configuration Debug build
# Or use shortcut ⌘+B in Xcode
# Run unit tests
xcodebuild test -project Hash.xcodeproj -scheme Hash -destination 'platform=macOS'
# Or use shortcut ⌘+U in Xcode
The application supports the following 22 languages:
- 🇨🇳 中文(简体)(Chinese Simplified)
- 🇹🇼 中文(繁体)(Chinese Traditional)
- 🇯🇵 日本語 (Japanese)
- 🇰🇷 한국어 (Korean)
- 🇹🇭 ไทย (Thai)
- 🇻🇳 Tiếng Việt (Vietnamese)
- 🇮🇳 हिन्दी (Hindi)
- 🇮🇩 Bahasa Indonesia (Indonesian)
- 🇲🇾 Bahasa Melayu (Malay)
- 🇺🇸 English
- 🇩🇪 Deutsch (German)
- 🇫🇷 Français (French)
- 🇪🇸 Español (Spanish)
- 🇮🇹 Italiano (Italian)
- 🇵🇹 Português (Portuguese)
- 🇳🇱 Nederlands (Dutch)
- 🇸🇪 Svenska (Swedish)
- 🇳🇴 Norsk (Norwegian)
- 🇩🇰 Dansk (Danish)
- 🇫🇮 Suomi (Finnish)
- 🇵🇱 Polski (Polish)
- 🇨🇿 Čeština (Czech)
- 🇭🇺 Magyar (Hungarian)
- 🇬🇷 Ελληνικά (Greek)
- 🇹🇷 Türkçe (Turkish)
- 🇺🇦 Українська (Ukrainian)
- 🇷🇴 Română (Romanian)
- 🇧🇬 Български (Bulgarian)
- 🇸🇰 Slovenčina (Slovak)
- 🇸🇮 Slovenščina (Slovenian)
- 🇭🇷 Hrvatski (Croatian)
- 🇷🇸 Српски (Serbian)
- 🇷🇺 Русский (Russian)
- 🇸🇦 العربية (Arabic)
- 🇮🇱 עברית (Hebrew)
- Select the project in Xcode
- Add a new language in the "Localizations" section
- Translate the strings in the
Localizable.strings
file
Issues and Pull Requests are welcome!
- Fork the project
- Create a feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- ✨ Initial release
- 🔐 Support for MD5, SHA-1, CRC32 hash algorithms
- 📁 Support for batch file processing
- 🎯 Support for drag & drop operations
- 🌍 Support for multilingual interface
- 🎨 Modern SwiftUI interface
For questions or suggestions, please contact us through:
- Submit Issues: GitHub Issues
- Project Homepage: GitHub Repository
Hash - Making file hash calculation simple and efficient 🚀