# Script pegar a posição de uma letra no Alfabeto (ENCERRADO)

## mfdzerohour

Boa noite, não domino muito bem shell script ele faz o calculo baseado no dia de hoje com 8 digitos digamos que a senha seja 40100802 precisava de um script na seguinte solução se o grupo passar de 26 (seria as letras do alfabeto já incluindo a mudança para o ano que vem) ele deve fazer a soma ex 40 = 4+0=4; e se não ele deve pegar a letra correspondente ex 10 = J

PS: Pretendo que a senha do root seja trocado diariamente, já tenho um script que modifiquei para fazer está soma mas necessito desta segunda parte que não consegui fazer, poderiam me dar uma ajuda desde já obrigado.

Marcelo Duarte.Last edited by mfdzerohour on Sat May 09, 2009 2:52 am; edited 1 time in total

----------

## aleixoreis

Prezado mfdzerohour:

Tentei entender o que vc quer, mas não consegui.

Será que poderia explicar melhor?

[ ]'s.

----------

## mfdzerohour

O Funcionamento do script é assim, ele faz a somatoria SMAD (SOMA+MÊS+ANO+DIA) hoje S=020917 o resultado seria (0+2+0+9+1+7)19 , mas se o mesmo der um numero maior que as letras que temos no alfabeto precisaria somar o 19 (1+9=10=1+0=1) para que ele pega-se uma letra do alfabeto e torna-se assim mais dificil de descobrir a senha para o Soma o algoritimo seria basicamente a letra do alfabeto que estária nas posições SMAD (S=19; M=02; A=09; D=17;). Espero que entendam, obrigado, claro que irei gerar um MD5SUN para tornar o resultado realmente alatorio.

----------

## Sodki

A explicação do mfdzerohour está extremamente confusa, mas acho que consegui perceber. A ideia é transformar uma data numa única letra, usando o seguinte algoritmo:

1) Transformar a data actual no formato DDAAMM, em que DD é o dia, AA é o ano e MM é o mês. Exemplo: 3 de Janeiro de 2009 seria 030901.

2) Pegar na data no formato DDAAMM e somar todos os dígitos. Exemplo: se DDAAMM for 030901, o resultado final seria 13, pois 0+3+0+9+0+1=13.

3) Transformar o número que obtivemos no passo anterior por uma letra, considerando que A=1, B=2, ..., Z=26. Se o número for 13, a letra correspondente é M. Caso o número seja superior a 26, voltamos a somar os dígitos, tal como fizemos no passo 2. Ou seja, se o número fosse 29, somávamos os dígitos e obtinhamos 11, que corresponde à letra K.

A pergunta que eu faço é: qual é o objectivo de tudo isto? Ter uma password que seja alterada todos os dias, mas que permita o acesso a quem souber o algoritmo? Ou o objectivo é impedir o acesso a qualquer pessoa? A referência à aleatoriedade do md5sum deixou-me confuso.

----------

## pilla

Cada caracter tem um codigo ASCII [1],  sendo que as minúsculas começam em 97. Podes usar isso para montar teu algoritmo.

No entanto, as senhas que estás criando serão extremamente fáceis de quebrar, com apenas um caracter....

[1] http://equipe.nce.ufrj.br/adriano/c/apostila/tabascii.htm

----------

## mfdzerohour

Boa noite, não que seja tão facil de descobrir a senha será uma sequência de letras, como temos 26 letras, o numero que der 26 será o Z o A = 1. SMAD se refere a ao grupo como todo cada uma delas será uma letra S = a soma de todas os numeros terei que reduzir até ficar igual ou menor a 26, o mês é facil só temos 12 então vai pegar letras até a posição 12 do alfabeto, o ano deve ficar com formato 01 até 26 (2026) quando passar devemos fazer a soma igual ao do dia e o dia que quando passar do dia 26 deve se somar 27 (2+7), após este procedimento pretendo gerar uma senha MD5SUN, andei pensando em fazer também uma frase para poder torna-la realmente aleatória.

----------

