Recently, I wrote an C# project for connect all devices from clients of my company to the server for remotely fault detection. SoftEther is chosen for underlying network solution.
The maintenance engineers don’t want to use the GUI of SoftEther to create profiles for each clients. A project is required for generating config files.
The only problem is how SoftEther store the password. I dig a lot and got the answer.
- Password is encrypted by SHA0 on password + USERNAME in capital.
- NTLM related password is encrypted by MD4.
Here is the password node generating project, based on C#, dotnet core 3. Actually, the code is tested on dotnet core 2 and netfx 4 also.