mirror of
https://github.com/therootcompany/golib.git
synced 2026-03-13 12:27:59 +00:00
wip: random half done-junk
This commit is contained in:
parent
beded855a2
commit
c8a95588ff
@ -23,6 +23,8 @@ func TestCredentialCreationAndVerification(t *testing.T) {
|
|||||||
{"service2", "acme", []string{"plain"}, nil, "token2", false, true},
|
{"service2", "acme", []string{"plain"}, nil, "token2", false, true},
|
||||||
{"service3", "user3", []string{"pbkdf2", "1000", "16", "SHA-256"}, nil, "token3", false, false},
|
{"service3", "user3", []string{"pbkdf2", "1000", "16", "SHA-256"}, nil, "token3", false, false},
|
||||||
{"service4", "user4", []string{"bcrypt"}, []string{"audit", "triage"}, "token4", false, false},
|
{"service4", "user4", []string{"bcrypt"}, []string{"audit", "triage"}, "token4", false, false},
|
||||||
|
// {"token", "api~vkdAIZ2O", []string{"aes-128-gcm"}, nil, "api1", true, true},
|
||||||
|
// {"token", "api~b5ZF2sRQ", []string{"aes-128-gcm"}, nil, "api2", true, true},
|
||||||
{"login", "user1", []string{"pbkdf2", "1000", "16", "SHA-256"}, nil, "pass1", true, false},
|
{"login", "user1", []string{"pbkdf2", "1000", "16", "SHA-256"}, nil, "pass1", true, false},
|
||||||
{"login", "user2", []string{"bcrypt"}, nil, "pass2", true, false},
|
{"login", "user2", []string{"bcrypt"}, nil, "pass2", true, false},
|
||||||
{"login", "user3", []string{"aes-128-gcm"}, nil, "pass3", true, true},
|
{"login", "user3", []string{"aes-128-gcm"}, nil, "pass3", true, true},
|
||||||
|
|||||||
@ -82,6 +82,43 @@ var FIELDS = Fields{
|
|||||||
R_LAST: 10,
|
R_LAST: 10,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetFieldIndex(header []string, name string) int {
|
||||||
|
name = strings.ToLower(name)
|
||||||
|
for i, h := range header {
|
||||||
|
h = strings.ToLower(h)
|
||||||
|
if strings.EqualFold(strings.TrimSpace(h), name) {
|
||||||
|
return i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetFieldIndexWithPrefix(header []string, pre string) int {
|
||||||
|
pre = strings.ToLower(pre)
|
||||||
|
for i, h := range header {
|
||||||
|
h = strings.TrimSpace(strings.ToLower(h))
|
||||||
|
if HasPrefixFold(h, pre) {
|
||||||
|
return i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetFieldLastIndexWithPrefix(header []string, pre string) int {
|
||||||
|
pre = strings.ToLower(pre)
|
||||||
|
for i := len(header) - 1; i >= 0; i-- {
|
||||||
|
h := strings.TrimSpace(strings.ToLower(header[i]))
|
||||||
|
if HasPrefixFold(h, pre) {
|
||||||
|
return i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
|
||||||
|
func HasPrefixFold(s, prefix string) bool {
|
||||||
|
return len(s) >= len(prefix) && strings.EqualFold(s[:len(prefix)], prefix)
|
||||||
|
}
|
||||||
|
|
||||||
// ---------- 2. CSV → []Rule ----------
|
// ---------- 2. CSV → []Rule ----------
|
||||||
func LoadRules(csvr *csv.Reader) ([]Rule, error) {
|
func LoadRules(csvr *csv.Reader) ([]Rule, error) {
|
||||||
// first line is the header
|
// first line is the header
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user