Ir para conteúdo
karina pereira refacho

colocar traços em escrita

Recommended Posts

Olá gostaria de saber como faço para inserir traço em uma sha512 exemplo no script abaixo me gera 10 sha512 gostaria que a hash apareça assim,

 

4dff4ea3-40f0-a823-f15d3-f4f01ab62eae0-e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a

 

note que na hash apareceu cinco ( - ) logo no inicio dela como faço para ao gerar a hash inserir esses 5 traços.

<?php
$temp = "\r\n";
$n=1;
for ( $number = 1 ; $number <= 10 ; ++$number ) {
	$variavel = hash('sha512', $number)."";
     do {
		
		$lucky = hexdec(substr($variavel,0,8));
	} while ($lucky > 4294960000);

	$n++;

echo ' HASH '.$variavel.' = '.$number.'<br />' ;
}

Desde já agradeço a atenção de todos e uma ótima semana

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que determina a inserção dos traços?

Compartilhar este post


Link para o post
Compartilhar em outros sites
9 horas atrás, Gabriel Heming disse:

O que determina a inserção dos traços?

olá eu preciso que a hash sai dessa maneira

Exemplo Correto, Hash Numero 1 = 6b86b273-9d6b-804e-ff5a-3f5747ada4eaa22f1d49c01e52ddb7875b4bb

Nesse exemplo depois de 8 caracteres e incluindo um - depois aparece mais 3 traços apos 4 caracteres .

eu fiz um codigo postado aqui abaixo, se testar esse script no phptester a hash aparece assim.

Hash Numero 1 = 6b86b273-9d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4bb

eu preciso que ela saia igual ao exemplo correto será incluido 4 caracteres.

 

<?php
$temp = "\r\n";
$n=1;
for ( $number = 1 ; $number <= 5 ; ++$number ) {
	$variavel = hash('sha256', $number)."";
     do {
		
		$lucky = hexdec(substr($variavel,0,8));
	} while ($lucky > 4294960000);

	$n++;
      echo ' Hash ',' Numero '.$number.' = ', substr_replace( $variavel, '-', 7, 7 ), substr( $variavel, -1 ),'<br />';

}

obrigada pela atenção  tenha uma ótima noite

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca uma gambis que rola;

 

$mascara = hash('sha256', $number)
$arr = str_split($mascara);

$x=0;
$juntis='';
foreach ($arr as $test) {

	$x++;

	if($x==5){
	$juntis.=$test."-";
	}else if($x==9)
	{
		$juntis.=$test."-";
	}
	else if($x==13)
	{
		$juntis.=$test."-";
	}else if($x==17)
	{
		$juntis.=$test."-";
	}
	else if($x==30)
	{
		$juntis.=$test."-";
	}
	else{
		$juntis.=$test;
	}


}


echo $juntis;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
7 horas atrás, bross lightyear disse:

coloca uma gambis que rola;

 


$mascara = hash('sha256', $number)

$arr = str_split($mascara);

$x=0;
$juntis='';
foreach ($arr as $test) {

	$x++;

	if($x==5){
	$juntis.=$test."-";
	}else if($x==9)
	{
		$juntis.=$test."-";
	}
	else if($x==13)
	{
		$juntis.=$test."-";
	}else if($x==17)
	{
		$juntis.=$test."-";
	}
	else if($x==30)
	{
		$juntis.=$test."-";
	}
	else{
		$juntis.=$test;
	}


}


echo $juntis;

 

legal essa soluçao só que surgiu um problema no primeiro codigo postado  nessa parte do codigo abaixo ele me da 5 resultados.

<?php
for ( $number = 1 ; $number <= 5 ; ++$number)  {
	

fiz uma implementação abaixo e so aparece um resultado o que pode ser ? codigo abaixo

<?php

$temp = "\r\n";
$n=1;
for ( $number = 1 ; $number <= 5 ; ++$number)  {
	$mascara  = hash('md5', $number)."";

 }

$arr = str_split($mascara);

$x=0;
$juntis='';
 foreach ($arr as $test) {

	$x++;

	if($x==8){
	$juntis.=$test."-";
	}else if($x==12)
	{
		$juntis.=$test."-";
	}
	else if($x==16)
	{
		$juntis.=$test."-";
	}else if($x==20)
	{
		$juntis.=$test."-";
	
	}
	else{
		$juntis.=$test;
	}


}

$n++;
echo $juntis;

obrigada pela ajuda desculpe pois sou muito leiga em php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se entendi corretamente seria isso:

$hash = '4dff4ea340f0a823f15d3f4f01ab62eae05da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a';

//^      Indica o inicio do texto
//(.{n}) Captura os próximos n caracteres.
//(.+)$  Captura os caracteres restantes até o final do texto.
$pattern = '/^(.{8})(.{4})(.{4})(.{4})(.+)$/';

// $n.. representa cada um dos grupos entre parenteses, onde n indica a posição do grupo no $pattern.
$replacement = '$1-$2-$3-$4-$5';

$masked = preg_replace($pattern, $replacement, $hash);

echo $masked;

Você pode testar em https://3v4l.org/6bJSU.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Highlander1901
      Senhores, buenas... não consigo efetuar esse SELECT, e já quebrei a cabeça pra dar certo. Podem me ajudar?
       
      SELECT
               "A"."CCUSTO" as "Célula",
               "A"."IDCONTR" as "Matrícula",
               "A"."NOME",
               "A"."SINDICATO",
               "A"."DESCEVENTO",
               "A"."LOCAL",
               (HOUR("A"."JAN") + (MINUTE("A"."JAN") / 60)) as "Mes Anterior",
               (HOUR("A"."FEV") + (MINUTE("A"."FEV") / 60)) as "Mes Atual",
               ((HOUR("A"."JAN") + (MINUTE("A"."JAN") / 60)) -(HOUR("A"."FEV") + (MINUTE("A"."FEV") / 60))) as "Crescimento",
               (MINUTE("A"."FEV") / 60) as "Minutos"
      FROM  "BD_HORAS" AS  "A" 
      WHERE     "A"."CCUSTO"  = '113'
       OR    "A"."CCUSTO"  = '432'
       
      Detalhes de erro:
      Qualquer uma das opções abaixo poderia ser a possibilidade para o erro:

      1. Poderia haver tipos incompatíveis de dados em um dos lados do operador comparador. Nesse caso, converta as colunas e tente novamente.

      2. Não há função correspondente ao nome  e argumento fornecidos. Você pode precisar adicionar conversões do tipo explícita.   Obs.: Sempre utilizei esse código, o que alterava era apenas o as colunas "JAN" e "FEV", dependendo do avanço dos meses.
       
      HEEEELP!
    • Por cjarosi
      Boa tarde galera. 
      Estou precisando de ajuda.
      Preciso dividir uma foto para ser impressa em vários tamanhos. Quero montar uma composição de quadros, mas com uma só imagem. 
      Não sei se estão conseguindo entender.
      Quero pegar uma foto e dividir essa foto em varias partes com tamanhos diferentes (tamanho A3, A4, Q1) para imprimir e depois juntar os quadros formando uma única imagem.
      Em anexo vou colocar duas imagens que exemplificam mais ou menos o que pretendo fazer.
      Se puderem me ajudar agradeço muito.
       


    • Por BryanSamuel
      Eu preciso somar a coluna SOMA onde a coluna A e a coluna B(ao outro registro, por exemplo A do registro 1 e A do registro 2 forem iguais) forem iguais, após isso dividir por 3 e em seguida inserir em outra tabela.
    • Por Wallace Mielniczki
      Estou fazendo meu TCC e em uma página eu preciso separar os registros realizados do autor por mês, algo assim https://ibb.co/hZmUEk, estou utilizando php orientado a objetos, https://jsfiddle.net/ca0rovs3/25/ aqui tem uma parte do código da pagina para vcs terem uma noção do que estou fazendo
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.