Stand alone software developed in GO Language, allows you to uniquely encrypt the string of the application based on keywords:
- Special key
- Machine ID
- OS
It is generally very useful for encrypting passwords
- Portability on Windows, MAC and UNIX / LINUX and much more operating systems
- Crypt and Decrypt string (password) from a shell_exec
- Robust string encryption system in GOLANG
- No further installations are required
- It has no dependencies on the operating system
We use a number of open source projects to work properly:
- GO - Developed
And of course Danilo itself is open source with a public repository on GitHub.
ENC and DEC STRING requires public repository v1.17+ installed to run.
Don't worry everything has been handled with GO modules so you don't have to do anything more than download the project!
The add-on module used to achieve some functions refering to "github.com/denisbrodbeck/machineid";
If you want compile the code you need to install the dependency with "github.com/denisbrodbeck/machineid" move to directory installation es: c:\Program Files\Go and put the code
go get github.com/denisbrodbeck/machineid
Normally you can use directly the executable encdec file already generated and ready to use for LINUX distribution in /src folder of your project (please visit Linux Executable v1.1 ) once loaded into the system you can generate the encrypted password as I describe it
ENCRYPT--> You can run the program from the bash command by running the statement:
go run main.go ENC 'PasswordToEncrypt'
The result is something like:
encrypted : 26a8d6a84be3c8ae4ef446f32cccc7affcf2d9612a7bc73a19f7821264a8b0f64f
DECRYPT--> You can run the program from the bash command by running the statement:
go run main.go DEC 26a8d6a84be3c8ae4ef446f32cccc7affcf2d9612a7bc73a19f7821264a8b0f64f
The result is something like:
PasswordToEncrypt
If you want you can generate an executable code, see section "Building for source"
First you can (recommended to add additional level of security you have to) change the secret key
const j = "jY-1"
even if you don't have to change the special key don't worry the software will use the default string and you can use it anyway
Second you must define the path for the log in main.go line 17
const pathLog = "/opt/frm/application/libraries/"
For production release you must move to directory module/program (development) es: c:\Users\MYNAME\Go and past the code:
env GOOS=target-OS GOARCH=target-architecture go build package-import-path
Example is for LINUX release:
env GOOS=linux GOARCH=amd64 go build main.go
You are generating a build for linux distribution called "main" in the same directory, if you want you can create a package with other name, use this code:
go build -o <your desired name>
The example before is like:
env GOOS=linux GOARCH=amd64 go build -o encdec main.go
you can run the executable from a SHELL_EXEC in the same way as reported in the "Easy to use" section
you can find all the possible export configurations in the Table of config contents section.
Remember: env is a LINUX COMMAND you must use it in LINUX or in GIT BASH
If you meet errors the key is wrong, remember you can use this software only on a single machine
Want to contribute? Great!
Make a change in your file and instantaneously see your updates!
The following table shows the possible combinations of GOOS and GOARCH you can use:
GOOS - Target Operating System | GOARCH - Target Platform |
---|---|
android | arm |
darwin | 386 |
darwin | amd64 |
darwin | arm |
darwin | arm64 |
dragonfly | amd64 |
freebsd | 386 |
freebsd | amd64 |
freebsd | arm |
linux | 386 |
linux | amd64 |
linux | arm |
linux | arm64 |
linux | ppc64 |
linux | ppc64le |
linux | mips |
linux | mipsle |
linux | mips64 |
linux | mips64le |
netbsd | 386 |
netbsd | amd64 |
netbsd | arm |
openbsd | 386 |
openbsd | amd64 |
openbsd | arm |
plan9 | 386 |
plan9 | amd64 |
solaris | amd64 |
windows | 386 |
windows | amd64 |
GNU General Public License v3.0 The GNU General Public License v3.0 (GPL) — Danilo Ritarossi. Please have a look at the public repository for more details.
Free Software, Hell Yeah!