this is tuto1
This commit is contained in:
parent
9eaa2bf4e8
commit
9262917553
19 changed files with 928 additions and 68 deletions
|
|
@ -1,6 +1,7 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"crypto/hmac"
|
||||
"crypto/sha512"
|
||||
"encoding/hex"
|
||||
|
|
@ -127,13 +128,35 @@ func challengePing(s *Student, t *givenToken, chid int) error {
|
|||
expected = []byte("deadbeef")
|
||||
}
|
||||
|
||||
// Allow 1 iteration or the 10 ones
|
||||
var expected10 []byte
|
||||
for i := 0; i < 10; i++ {
|
||||
expected10 = append(expected10, expected...)
|
||||
}
|
||||
|
||||
// Make it case insensitive
|
||||
expectedC := bytes.ToUpper(expected)
|
||||
expected10C := bytes.ToUpper(expected10)
|
||||
|
||||
pkey := s.GetPKey()
|
||||
if expectedToken, err := GenerateToken(pkey, chid, expected); err != nil {
|
||||
if expectedToken, err := GenerateToken(pkey, 0, expected); err != nil {
|
||||
return err
|
||||
} else if ! hmac.Equal(expectedToken, t.token) {
|
||||
return errors.New("This is not the expected token.")
|
||||
} else {
|
||||
} else if hmac.Equal(expectedToken, t.token) {
|
||||
return nil
|
||||
} else if expectedToken, err := GenerateToken(pkey, 0, expectedC); err != nil {
|
||||
return err
|
||||
} else if hmac.Equal(expectedToken, t.token) {
|
||||
return nil
|
||||
} else if expectedToken, err := GenerateToken(pkey, 0, expected10); err != nil {
|
||||
return err
|
||||
} else if hmac.Equal(expectedToken, t.token) {
|
||||
return nil
|
||||
} else if expectedToken, err := GenerateToken(pkey, 0, expected10C); err != nil {
|
||||
return err
|
||||
} else if hmac.Equal(expectedToken, t.token) {
|
||||
return nil
|
||||
} else {
|
||||
return errors.New("This is not the expected token.")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Reference in a new issue