Foros del Web » Programando para Internet » PHP »

¿Cómo poner SHA1 en mayúculas?

Estas en el tema de ¿Cómo poner SHA1 en mayúculas? en el foro de PHP en Foros del Web. Hola a todos, bueno, mi duda es la siguiente: tengo un script de registro de usuarios y un login con SHA1, pero tengo un gran ...
  #1 (permalink)  
Antiguo 10/08/2010, 17:12
 
Fecha de Ingreso: octubre-2009
Mensajes: 25
Antigüedad: 10 años, 3 meses
Puntos: 5
¿Cómo poner SHA1 en mayúculas?

Hola a todos, bueno, mi duda es la siguiente: tengo un script de registro de usuarios y un login con SHA1, pero tengo un gran problema, según yo, mi script debería de insertar los valores en la DB las contraseñas en SHA1 y todo en mayúsculas, por ejemplo:
0247B192C2FAF3D3B7537C0EFC9332E57F7EAA84
Y mi script por una rara razón, cuando la inserta las pone así:
d091e41e368bdfa90dec9f17e55af2f72aba5503

Pero quisiera que se pusieran en mayúsculas, anexo aquí el código:

Código PHP:
<?php 
include ("config.php");
$page '<?xml version="1.0" encoding="utf-8" ?> 
<form method="post" action="' 
$_SERVER["SCRIPT_NAME"] . '"> 
<p style="text-align:left;"> 
<font color="#FFFFFF" size="2" face="verdana">Nombre de usuario</font> 
<br /><input name="username" type="text" maxlength="12" style="border: 1px solid #000; background: #FFF; font-family: verdana; font-size: 9pt; color:#000; font-color: #000; width:300px; height:25px;"/><br /> 
<font color="#FFFFFF" size="2" face="verdana">Contraseña</font> 
<br /><input name="password" type="password" maxlength="12" style="border: 1px solid #000; background: #FFF; font-family: verdana; font-size: 9pt; color:#000; font-color: #000; width:300px; height:25px;"/><br /> 
<font color="#FFFFFF" size="2" face="verdana">E-mail:</font> 
<br /><input name="email" type="text" maxlength="255" style="border: 1px solid #000; background: #FFF; font-family: verdana; font-size: 9pt; color:#000; font-color: #ffffff; width:300px; height:25px;"/> 
<br /> 
<button type="submit" class="boton_cuenta.png" style=" -webkit-border-top-left-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -webkit-border-bottom-left-radius: 5px;
    -webkit-border-bottom-right-radius: 5px;-moz-box-shadow:0 0px 10px #333;
 -webkit-box-shadow: 0 0px 10px #333;
 box-shadow: 0 0px 10px #333;
  -webkit-border-top-left-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -webkit-border-bottom-left-radius: 5px;
    -webkit-border-bottom-right-radius: 5px;border: 0px; background-color:black;"><b><img src="images/boton_cuenta.png"></img></b></button> 
<br /><br />
set realmlist <b>' 
$realmlist '</b>
</p> 
</form> 

'


function 
error_s ($text) { 
    echo(
"<p align='center'>" $text); 
 
}

$Username_chars "#[^a-zA-Z0-9_\-]#"
$email_chars "/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/"

$con = @mysql_connect($Hostname$Username$Password); 
if (!
$con) { 
    
error_s("No se puede conectar: " mysql_error()); 
}; 

if (!empty(
$_POST)) { 
        if ((empty(
$_POST["username"]))||(empty($_POST["password"]))||(empty($_POST["email"]))) { 
                
error_s("<script language='JavaScript' type='text/javascript'>javascript:location.reload(alert('No pusiste toda la información necesaria'));</script>"); 
                exit(); 
        } else { 
                
$Usernamename strtoupper($_POST["username"]); 
                
$Passwordword strtoupper($_POST["password"]); 
                
$email strtoupper($_POST["email"]); 
                
$expansion $_POST["expansion"]; 
                if (
strlen($Usernamename) < 5) { 
                        
error_s("<script language='JavaScript' type='text/javascript'>javascript:location.reload(alert('Nombre de usuario demasiado corto'));</script>"); 
                        exit(); 
                }; 
                if (
strlen($Usernamename) > 14) { 
                        
error_s("<script language='JavaScript' type='text/javascript'>javascript:location.reload(alert('Nombre de usuario demasiado largo'));</script>"); 
                        exit(); 
                }; 
                if (
strlen($Passwordword) < 8) { 
                        
error_s("<script language='JavaScript' type='text/javascript'>javascript:location.reload(alert('Contraseña demasiado corta'));</script>"); 
                        exit(); 
                }; 
                if (
strlen($Passwordword) > 12) { 
                        
error_s("<script language='JavaScript' type='text/javascript'>javascript:location.reload(alert('Contraseña demasiado larga'));</script>"); 
                        exit(); 
                }; 
                if (
strlen($email) < 4) { 
                        
error_s("<script language='JavaScript' type='text/javascript'>javascript:location.reload(alert('E-Mail demasiado corto'));</script>"); 
                        exit(); 
                }; 
                if (
strlen($email) > 255) { 
                        
error_s("<script language='JavaScript' type='text/javascript'>javascript:location.reload(alert('E-Mail demasiado largo'));</script>"); 
                        exit(); 
                }; 
                if (
preg_match($Username_chars,$Usernamename)) { 
                        
error_s("<script language='JavaScript' type='text/javascript'>javascript:location.reload(alert('El nombre de usuario contiene caracteres ilegales'));</script>"); 
                        exit(); 
                }; 
                if (
preg_match($Username_chars,$Passwordword)) { 
                        
error_s("<script language='JavaScript' type='text/javascript'>javascript:location.reload(alert('La contraseña tiene caracteres ilegales'));</script>"); 
                        exit(); 
                }; 
                if (!
preg_match($email_chars,$email)) { 
                        
error_s("<script language='JavaScript' type='text/javascript'>javascript:location.reload(alert('El E-Mail tiene un formato incorrecto'));</script>"); 
                        exit(); 
                }; 
                
$Usernamename mysql_real_escape_string($Usernamename); 
                
$Passwordword mysql_real_escape_string($Passwordword); 
                
$email mysql_real_escape_string($email); 
                
$qry = @mysql_query("select username from " mysql_real_escape_string($RealmDatabase) . ".account where username = '" $Usernamename "'"$con); 
                if (!
$qry) { 
                    
error_s("Error consultando la base de datos: " mysql_error()); 
                }; 
                if (
$existing_username mysql_fetch_assoc($qry)) { 
                        foreach (
$existing_username as $key => $value) { 
                                
$existing_username $value
                        }; 
                }; 
                
$existing_username strtoupper($existing_username); 
                if (
$existing_username == strtoupper($_POST['username'])) { 
                        
error_s("<script language='JavaScript' type='text/javascript'>javascript:location.reload(alert('El nombre de usuario está siendo utilizado'));</script>"); 
                        exit(); 
                }; 
                unset(
$qry); 
                
$qry = @mysql_query("select email from " mysql_real_escape_string($RealmDatabase) . ".account where email = '" $email "'"$con); 
                if (!
$qry) { 
                    
error_s("Error consultando la base de datos: " mysql_error()); 
                }; 
                if (
$existing_email mysql_fetch_assoc($qry)) { 
                        foreach (
$existing_email as $key => $value) { 
                                
$existing_email $value
                        }; 
                }; 
                if (
$existing_email == $_POST['email']) { 
                        
error_s("<script language='JavaScript' type='text/javascript'>javascript:location.reload(alert('El E-Mail está siendo utilizado'));</script>"); 
                        exit(); 
                }; 
                unset(
$qry); 
                
$sha_pass_hash sha1(strtoupper($Usernamename) . ":" strtoupper($Passwordword)); 
                
$register_sql "insert into " mysql_real_escape_string($RealmDatabase) . ".account (username, sha_pass_hash, email, expansion) values (upper('" $Usernamename "'),'" $sha_pass_hash "','" $email "','2')"
                
$qry = @mysql_query($register_sql$con); 
                if (!
$qry) { 
                    
error_s("Error creando la cuenta: " mysql_error()); 
                }; 
                echo(
"<script language='JavaScript' type='text/javascript'>javascript:location.reload(alert('Creación de cuenta completada'));</script>"); 
                exit(); 
        }; 
} else { 
        echo(
$page); 
}; 

?>
Disculpen si el código no está bien estructurado, no soy muy bueno en PHP y ese código no lo hice yo, solamente lo modifiqué, pero si alguien puede arreglarlo para que inserte los valores en mayúsculas se lo agradecería bastante .

De antemano, gracias.
  #2 (permalink)  
Antiguo 10/08/2010, 17:19
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 10 años, 3 meses
Puntos: 334
Respuesta: ¿Cómo poner SHA1 en mayúculas?

la pregunta aquí es...
para que quieres que este en mayúscula ? esta realmente fuera de mi comprensión !
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 10/08/2010, 17:23
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 4 meses
Puntos: 214
Respuesta: ¿Cómo poner SHA1 en mayúculas?

hola
bueno, pues intenta a $hash_bash ponerle el strtoupper que encierre al sha1 (en el momento que se asigna antes del insert)

eso por el lado php

por el lado mysql, puedes intentar la función UPPER de mysql en el insert, quedando algo así

insert into (campos) values (''......,'UPPER($hash_bash)',''...) // intenta sin las comillas que encierran a UPPER si da algún warning

PERO hay un bug pero se reporto hace rato,
tal vez ya este solucionado, pero nunca se sabe...

sin embargo te dejo esto
para que revises
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #4 (permalink)  
Antiguo 10/08/2010, 17:31
 
Fecha de Ingreso: octubre-2009
Mensajes: 25
Antigüedad: 10 años, 3 meses
Puntos: 5
Respuesta: ¿Cómo poner SHA1 en mayúculas?

Gracias Mortiprogramador, me sirvió :D...

¡Excelente!...

Mil gracias de nuevo ;) ya llevaba peleandome con el código una hora :P.

Etiquetas: poner
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:01.