refactor: Change to using rand.Read instead of whatever the hell else was before

This commit is contained in:
Matthew
2023-11-27 01:08:40 -05:00
parent d2e9e3d1a9
commit 38b57c6d98
3 changed files with 8 additions and 12 deletions

View File

@@ -1,8 +1,7 @@
package channelserver
import (
"crypto"
"encoding/binary"
"crypto/rand"
"encoding/hex"
"erupe-ce/common/byteframe"
"erupe-ce/common/mhfcourse"
@@ -322,14 +321,10 @@ func parseChatCommand(s *Session, command string) {
}
case commands["Discord"].Prefix:
if commands["Discord"].Enabled {
tokenHash := crypto.MD5.New()
tokenSalt := fmt.Sprint(s.charID) + fmt.Sprint(s.server.ID)
tokenData := make([]byte, 4)
binary.LittleEndian.PutUint32(tokenData, uint32(time.Now().Second()))
tokenHash.Write([]byte(fmt.Sprintf("%s%s", tokenSalt, tokenData)))
discordToken := fmt.Sprint(tokenHash)[4:12]
s.logger.Info(discordToken)
_, err := s.server.db.Exec("UPDATE users u SET discord_token = $1 WHERE u.id=(SELECT c.user_id FROM characters c WHERE c.id=$2)", discordToken, s.charID)
discordToken := make([]byte, 8)
_, err := rand.Read(discordToken)
s.logger.Info(fmt.Sprint(discordToken))
_, err = s.server.db.Exec("UPDATE users u SET discord_token = $1 WHERE u.id=(SELECT c.user_id FROM characters c WHERE c.id=$2)", fmt.Sprint(discordToken), s.charID)
if err != nil {
sendServerChatMessage(s, fmt.Sprint("An error occurred while processing this command"))
s.logger.Error(fmt.Sprint(err))

View File

@@ -86,10 +86,11 @@ func (s *Server) onInteraction(ds *discordgo.Session, i *discordgo.InteractionCr
return
}
break
case "passwordreset":
case "password":
password, _ := bcrypt.GenerateFromPassword([]byte(i.ApplicationCommandData().Options[0].StringValue()), 10)
_, err := s.db.Exec("UPDATE users SET password = $1 WHERE discord_id = $2", password, i.Member.User.ID)
if err != nil {
s.logger.Error(fmt.Sprint(err))
return
}
err = ds.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{