51 lines
1.3 KiB
Go
51 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"database/sql"
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
|
|
_ "github.com/lib/pq"
|
|
"golang.org/x/crypto/bcrypt"
|
|
)
|
|
|
|
func main() {
|
|
dbURL := os.Getenv("DATABASE_URL")
|
|
if dbURL == "" {
|
|
log.Fatal("DATABASE_URL environment variable not set")
|
|
}
|
|
|
|
db, err := sql.Open("postgres", dbURL)
|
|
if err != nil {
|
|
fmt.Println("❌ Connection error:", err)
|
|
return
|
|
}
|
|
defer db.Close()
|
|
|
|
// USE THE PEPPER FROM THE DEPLOYED BACKEND .env
|
|
password := "Admin@2025!"
|
|
pepper := "some-random-string-for-password-hashing" // FROM DEPLOYED .env
|
|
passwordWithPepper := password + pepper
|
|
|
|
newHash, err := bcrypt.GenerateFromPassword([]byte(passwordWithPepper), bcrypt.DefaultCost)
|
|
if err != nil {
|
|
fmt.Println("❌ Hash generation error:", err)
|
|
return
|
|
}
|
|
|
|
fmt.Println("🔐 Generated new hash with CORRECT pepper:")
|
|
fmt.Println(" Password:", password)
|
|
fmt.Println(" Pepper:", pepper)
|
|
fmt.Println(" Hash:", string(newHash))
|
|
|
|
result, err := db.Exec("UPDATE users SET password_hash = $1, status = 'active' WHERE identifier = 'superadmin'", string(newHash))
|
|
if err != nil {
|
|
fmt.Println("❌ Update error:", err)
|
|
return
|
|
}
|
|
|
|
rows, _ := result.RowsAffected()
|
|
fmt.Printf("\n✅ SuperAdmin updated! Rows affected: %d\n", rows)
|
|
fmt.Println("\n🔄 Tente logar novamente com superadmin / Admin@2025!")
|
|
}
|