ClassicASP.Argon2
Argon2 hashing algorithm implemented in VBscript for Classic ASP using a COM DLL
Install / Use
/learn @as08/ClassicASP.Argon2README
This is a Component Object Model (COM) Dynamic-link library (DLL) coded in C# that can be set in Classic ASP using VBscripts "CreateObject" method and allows you to compute Argon2i hashes.
Argon2 is a key derivation function that was selected as the winner of the Password Hashing Competition in July 2015. It was designed by Alex Biryukov, Daniel Dinu, and Dmitry Khovratovich from the University of Luxembourg. Argon2i is optimized to resist side-channel attacks. It accesses the memory array in a password independent order.
https://en.wikipedia.org/wiki/Argon2
Uses the Isopoh.Cryptography.Argon2 Fully Managed .Net Core Argon2 implementation by mheyman https://github.com/mheyman/Isopoh.Cryptography.Argon2
Also see:
https://github.com/as08/ClassicASP.Bcrypt
https://github.com/as08/ClassicASP.PBKDF2
For a Classic ASP password hashing class that uses this COM DLL, see:
https://github.com/as08/ClassicASP.PasswordHashing
INSTALLATION:
Make sure you have the lastest .NET Framework installed (tested on .NET Framework 4.7.2)
Open IIS, go to the applicaton pools and open the application pool being used by your Classic ASP application. Check the .NET CRL version E.g: v4.0.30319
Navigate to the CRL folder E.g: C:\Windows\Microsoft.NET\Framework64\v4.0.30319
Copy over: ClassicASP.Argon2.dll, Isopoh.Cryptography.Argon2.dll, Isopoh.Cryptography.Blake2b.dll and Isopoh.Cryptography.SecureArray.dll
Run CMD as administrator
Change the directory to your CRL folder E.g: cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
Run the following command: RegAsm ClassicASP.Argon2.dll /tlb /codebase
Usage
Set Argon2 = Server.CreateObject("ClassicASP.Argon2")
' Generate a hash with default parameters (timeCost = 4, memoryCost = 2048, lanes = 4, threads = Environment.ProcessorCount, saltBytes = 16)
Argon2.Hash("myPassword")
' Custom parameters
Argon2.Hash("myPassword", int timeCost, int memoryCost, int lanes, int threads, int saltBytes)
' Verify a hash
Argon2.Verify("myPassword","$argon2i$v=19$m=2048,t=6,p=4$IuVF4gkfn3MfbyW1NR6W0w==$zLGJNxEy0VYjycLzL+lyvVbP9R0MK7k+Al7kRsAzBf4=") ' True / False
Example output from argon2.asp
Password: myPassword
Argon2 Hash: $argon2i$v=19$m=2048,t=6,p=4$IuVF4gkfn3MfbyW1NR6W0w==$zLGJNxEy0VYjycLzL+lyvVbP9R0MK7k+Al7kRsAzBf4=
Time to execute: 0.1406s
Argon2 Verified: True
Time to execute: 0.1250s
Related Skills
node-connect
346.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
