mirror of
https://github.com/wneessen/apg-go.git
synced 2024-11-09 15:52:54 +01:00
Updated README.md and added code-example for programmatic use
This commit is contained in:
parent
6047e79e0c
commit
da4a9b1040
3 changed files with 39 additions and 3 deletions
|
@ -4,9 +4,9 @@
|
|||
<option name="autoReloadType" value="ALL" />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e32960c0-29e5-4669-9fc2-ef12314486ce" name="Changes" comment="More README.md updates">
|
||||
<list default="true" id="e32960c0-29e5-4669-9fc2-ef12314486ce" name="Changes" comment="Updated CLI usage text to reflect the changes of #27">
|
||||
<change afterPath="$PROJECT_DIR$/example-code/simple-password-generator/main.go" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/cmd/apg/apg.go" beforeDir="false" afterPath="$PROJECT_DIR$/cmd/apg/apg.go" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
@ -86,7 +86,8 @@
|
|||
<MESSAGE value="Minor code cleanups and updated README to reflect #27" />
|
||||
<MESSAGE value="README.md updated" />
|
||||
<MESSAGE value="More README.md updates" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="More README.md updates" />
|
||||
<MESSAGE value="Updated CLI usage text to reflect the changes of #27" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Updated CLI usage text to reflect the changes of #27" />
|
||||
</component>
|
||||
<component name="VgoProject">
|
||||
<integration-enabled>true</integration-enabled>
|
||||
|
|
|
@ -88,6 +88,14 @@ It is recommed to install apg in a directory of your ```$PATH``` environment. To
|
|||
```sh
|
||||
$ sudo cp apg /usr/local/bin/apg
|
||||
```
|
||||
|
||||
## Programmatic interface
|
||||
Since v0.4.0 the CLI and the main package functionality have been separated from each other, which makes
|
||||
it easier to use the `apg-go` package in other Go code as well. This way you can make of the password
|
||||
generation in your own code without having to rely on the actual apg-go binary.
|
||||
|
||||
Code examples on how to use the package can be found in the [example-code](example-code) directory.
|
||||
|
||||
## Usage examples
|
||||
### Default behaviour
|
||||
By default apg-go will generate 6 passwords, with a minimum length of 12 characters and a
|
||||
|
|
27
example-code/simple-password-generator/main.go
Normal file
27
example-code/simple-password-generator/main.go
Normal file
|
@ -0,0 +1,27 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/wneessen/apg-go/chars"
|
||||
"github.com/wneessen/apg-go/config"
|
||||
"github.com/wneessen/apg-go/random"
|
||||
)
|
||||
|
||||
func main() {
|
||||
c := config.Config{
|
||||
UseNumber: true,
|
||||
UseSpecial: true,
|
||||
UseUpperCase: true,
|
||||
UseLowerCase: true,
|
||||
PwAlgo: 1,
|
||||
MinPassLen: 15,
|
||||
MaxPassLen: 15,
|
||||
}
|
||||
pl := config.GetPwLengthFromParams(&c)
|
||||
cs := chars.GetRange(&c)
|
||||
pw, err := random.GetChar(&cs, pl)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println("Your Password:", pw)
|
||||
}
|
Loading…
Reference in a new issue