Advertisement
Guest User

Untitled

a guest
Mar 1st, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "bufio"
  5. "encoding/json"
  6. "fmt"
  7. "os"
  8. )
  9.  
  10. type account struct {
  11. USERNAME string `json:"Username"`
  12. PASSWORD string `json:"Password"`
  13. }
  14.  
  15. func readAccounts() ([]account, error) {
  16. accounts := make([]account, 0)
  17. accountsFile, err := os.Open("accounts.json")
  18. defer accountsFile.Close()
  19. if err != nil {
  20. return nil, err
  21. }
  22.  
  23. dec := json.NewDecoder(accountsFile)
  24. err = dec.Decode(&accounts)
  25. if err != nil {
  26. return nil, err
  27. }
  28.  
  29. return accounts, nil
  30. }
  31.  
  32. func writeAccounts(accounts []account) error {
  33. accountsFile, err := os.Create("accounts.json")
  34. defer accountsFile.Close()
  35. if err != nil {
  36. return err
  37. }
  38. enc := json.NewEncoder(accountsFile)
  39. enc.SetIndent("", " ")
  40. err = enc.Encode(accounts)
  41.  
  42. return err
  43. }
  44.  
  45. func makeUsr() string {
  46. r := bufio.NewReader(os.Stdin)
  47. fmt.Println("Please make a username:")
  48. newUsr, err := r.ReadString('\n')
  49. if err != nil {
  50. panic(err)
  51. }
  52. return newUsr
  53. }
  54.  
  55. func makePwd() string{
  56. r := bufio.NewReader(os.Stdin)
  57. fmt.Println("Please make a password:")
  58. newPwd, err := r.ReadString('\n')
  59. if err != nil {
  60. panic(err)
  61. }
  62. return newPwd
  63. }
  64.  
  65. func inputPassword() string {
  66. r := bufio.NewReader(os.Stdin)
  67. fmt.Println("Password:")
  68. inpPwd, err := r.ReadString('\n')
  69. if err != nil {
  70. panic(err)
  71. }
  72. return inpPwd
  73. }
  74.  
  75. func main() {
  76. accounts, err := readAccounts()
  77. if err != nil {
  78. panic(err)
  79. }
  80.  
  81. accounts = append(accounts, account{
  82. USERNAME: makeUsr(),
  83. PASSWORD: makePwd(),
  84. })
  85.  
  86. err = writeAccounts(accounts)
  87. if err != nil {
  88. panic(err)
  89. }
  90.  
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement