Add password generator options
This commit is contained in:
parent
b73de4ca3e
commit
57b45d8734
|
@ -127,8 +127,9 @@ var shredOverlay string // Text in shredding progress bar
|
||||||
var shredding = "Ready."
|
var shredding = "Ready."
|
||||||
|
|
||||||
// User input variables
|
// User input variables
|
||||||
var passwordState = giu.InputTextFlagsPassword
|
|
||||||
var password string
|
var password string
|
||||||
|
var passwordState = giu.InputTextFlagsPassword
|
||||||
|
var passwordStateLabel = "Show"
|
||||||
var cPassword string // Confirm password text entry string variable
|
var cPassword string // Confirm password text entry string variable
|
||||||
var keyfilePath string
|
var keyfilePath string
|
||||||
var keyfileLabel = "Use a keyfile"
|
var keyfileLabel = "Use a keyfile"
|
||||||
|
@ -144,10 +145,12 @@ var fast bool
|
||||||
var kept = false // If a file was corrupted/modified, but the output was kept
|
var kept = false // If a file was corrupted/modified, but the output was kept
|
||||||
|
|
||||||
var showGenpass = false
|
var showGenpass = false
|
||||||
var genpassUpper bool
|
var genpassCopy = true
|
||||||
var genpassLower bool
|
var genpassLength int32 = 32
|
||||||
var genpassNums bool
|
var genpassUpper = true
|
||||||
var genpassSymbols bool
|
var genpassLower = true
|
||||||
|
var genpassNums = true
|
||||||
|
var genpassSymbols = true
|
||||||
|
|
||||||
// Reed-Solomon encoders
|
// Reed-Solomon encoders
|
||||||
var rs1,_ = infectious.NewFEC(1,3) // 1 data shards, 3 total -> 2 parity shards
|
var rs1,_ = infectious.NewFEC(1,3) // 1 data shards, 3 total -> 2 parity shards
|
||||||
|
@ -212,10 +215,16 @@ func startUI(){
|
||||||
giu.Custom(func(){
|
giu.Custom(func(){
|
||||||
if showGenpass{
|
if showGenpass{
|
||||||
giu.PopupModal("Generate password:").Layout(
|
giu.PopupModal("Generate password:").Layout(
|
||||||
giu.Checkbox("Uppercase letters",&genpassUpper),
|
giu.Row(
|
||||||
giu.Checkbox("Lowercase letters",&genpassLower),
|
giu.Label("Length: "),
|
||||||
|
giu.SliderInt("",&genpassLength,4,64).Size(-0.0000001),
|
||||||
|
),
|
||||||
|
giu.Checkbox("Uppercase",&genpassUpper),
|
||||||
|
giu.Checkbox("Lowercase",&genpassLower),
|
||||||
giu.Checkbox("Numbers",&genpassNums),
|
giu.Checkbox("Numbers",&genpassNums),
|
||||||
giu.Checkbox("Symbols",&genpassSymbols),
|
giu.Checkbox("Symbols",&genpassSymbols),
|
||||||
|
giu.Checkbox("Copy to clipboard",&genpassCopy),
|
||||||
|
giu.Row(
|
||||||
giu.Button("Cancel").Size(100,0).OnClick(func(){
|
giu.Button("Cancel").Size(100,0).OnClick(func(){
|
||||||
giu.CloseCurrentPopup()
|
giu.CloseCurrentPopup()
|
||||||
showGenpass = false
|
showGenpass = false
|
||||||
|
@ -227,15 +236,9 @@ func startUI(){
|
||||||
passwordStrength = zxcvbn.PasswordStrength(password,nil).Score
|
passwordStrength = zxcvbn.PasswordStrength(password,nil).Score
|
||||||
giu.CloseCurrentPopup()
|
giu.CloseCurrentPopup()
|
||||||
showGenpass = false
|
showGenpass = false
|
||||||
passwordState = giu.InputTextFlagsNone
|
|
||||||
go func(){
|
|
||||||
time.Sleep(3*time.Second)
|
|
||||||
passwordState = giu.InputTextFlagsPassword
|
|
||||||
giu.Update()
|
|
||||||
}()
|
|
||||||
|
|
||||||
giu.Update()
|
giu.Update()
|
||||||
}),
|
}),
|
||||||
|
),
|
||||||
).Build()
|
).Build()
|
||||||
giu.OpenPopup("Generate password:")
|
giu.OpenPopup("Generate password:")
|
||||||
giu.Update()
|
giu.Update()
|
||||||
|
@ -358,6 +361,15 @@ func startUI(){
|
||||||
passwordStrength = zxcvbn.PasswordStrength(password,nil).Score
|
passwordStrength = zxcvbn.PasswordStrength(password,nil).Score
|
||||||
giu.Update()
|
giu.Update()
|
||||||
}),
|
}),
|
||||||
|
giu.SmallButton(passwordStateLabel).OnClick(func(){
|
||||||
|
if passwordState==giu.InputTextFlagsPassword{
|
||||||
|
passwordState = giu.InputTextFlagsNone
|
||||||
|
passwordStateLabel = "Hide"
|
||||||
|
}else{
|
||||||
|
passwordState = giu.InputTextFlagsPassword
|
||||||
|
passwordStateLabel = "Show"
|
||||||
|
}
|
||||||
|
}),
|
||||||
).Build()
|
).Build()
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
@ -399,20 +411,6 @@ func startUI(){
|
||||||
canvas.PathStroke(col,false,3)
|
canvas.PathStroke(col,false,3)
|
||||||
}),
|
}),
|
||||||
giu.Dummy(-160,0),
|
giu.Dummy(-160,0),
|
||||||
|
|
||||||
/*giu.Checkbox(keyfileLabel,&keyfile).OnChange(func(){
|
|
||||||
if !keyfile{
|
|
||||||
keyfileLabel = "Use a keyfile"
|
|
||||||
return
|
|
||||||
}
|
|
||||||
filename,err := dialog.File().Load()
|
|
||||||
if err!=nil{
|
|
||||||
keyfile = false
|
|
||||||
return
|
|
||||||
}
|
|
||||||
keyfileLabel = filename
|
|
||||||
keyfilePath = filename
|
|
||||||
}),*/
|
|
||||||
giu.Custom(func(){
|
giu.Custom(func(){
|
||||||
if !(mode=="decrypt"&&!keyfile){
|
if !(mode=="decrypt"&&!keyfile){
|
||||||
giu.Button(keyfileLabel).OnClick(func(){
|
giu.Button(keyfileLabel).OnClick(func(){
|
||||||
|
@ -464,7 +462,7 @@ func startUI(){
|
||||||
giu.Dummy(-0.0000001,0),
|
giu.Dummy(-0.0000001,0),
|
||||||
).Build()
|
).Build()
|
||||||
}else{
|
}else{
|
||||||
giu.Dummy(0,42).Build()
|
giu.Dummy(0,45).Build()
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
@ -519,7 +517,6 @@ func startUI(){
|
||||||
_status_color = color.RGBA{0xff,0x00,0x00,255}
|
_status_color = color.RGBA{0xff,0x00,0x00,255}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
fmt.Println(keyfile,keyfilePath)
|
|
||||||
if keyfile&&keyfilePath==""{
|
if keyfile&&keyfilePath==""{
|
||||||
_status = "Please select a keyfile."
|
_status = "Please select a keyfile."
|
||||||
_status_color = color.RGBA{0xff,0x00,0x00,255}
|
_status_color = color.RGBA{0xff,0x00,0x00,255}
|
||||||
|
@ -1286,7 +1283,6 @@ func work(){
|
||||||
khash_sha3.Write(khash)
|
khash_sha3.Write(khash)
|
||||||
khash_hash = khash_sha3.Sum(nil)
|
khash_hash = khash_sha3.Sum(nil)
|
||||||
}
|
}
|
||||||
fmt.Println(keyfile)
|
|
||||||
|
|
||||||
sha3_512 := sha3.New512()
|
sha3_512 := sha3.New512()
|
||||||
sha3_512.Write(key)
|
sha3_512.Write(key)
|
||||||
|
@ -2038,11 +2034,14 @@ func genPassword() string{
|
||||||
if chars==""{
|
if chars==""{
|
||||||
return chars
|
return chars
|
||||||
}
|
}
|
||||||
tmp := make([]byte,32)
|
tmp := make([]byte,genpassLength)
|
||||||
for i:=0;i<32;i++{
|
for i:=0;i<int(genpassLength);i++{
|
||||||
j,_ := rand.Int(rand.Reader,new(big.Int).SetUint64(uint64(len(chars))))
|
j,_ := rand.Int(rand.Reader,new(big.Int).SetUint64(uint64(len(chars))))
|
||||||
tmp[i] = chars[j.Int64()]
|
tmp[i] = chars[j.Int64()]
|
||||||
}
|
}
|
||||||
|
if genpassCopy{
|
||||||
|
clipboard.WriteAll(string(tmp))
|
||||||
|
}
|
||||||
return string(tmp)
|
return string(tmp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue