Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
<%'##################################'# Por: Carlos Alessandro Ribeiro(rOcKLoCo) #'# Data: 17/10/2003 #'##################################Function GeraString(tamString, tipo, tamParte) tamString = Int(tamString) 'nº de caracteres em cada parte tipo = Int(tipo) 'tipo da String: 1 alfanumérica, 2 = só letras, 3 = números tamParte = Int(tamParte) 'nº de partes que será criada if IsNumeric(tamString) = False OR tamString = 0 then tamString = 5 end if if IsNumeric(tipo) = False OR tipo = 0 then tipo = 1 end if if IsNumeric(tamParte) = False OR tamParte = 0 then tamParte = 3 end if if tipo = 1 then MyArr = Array("1","2","3","4","5","6","7","8","9","0","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z") elseif tipo = 2 then MyArr = Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z") else MyArr = Array("1","2","3","4","5","6","7","8","9","0") end if for d = 1 to tamParte for i = 1 to tamString Randomize StringGerada = StringGerada & MyArr(Int(Rnd*UBound(MyArr))) next varRand = StringGerada if tamParte = 1 then StringFinal = StringFinal & "{" & varRand & "}" else if d = tamParte then StringFinal = StringFinal & varRand & "}" else if d = 1 then StringFinal = StringFinal & "{" & varRand & " - " else StringFinal = StringFinal & varRand & " - " end if end if end if StringGerada = "" next GeraString = StringFinalEnd Function%>
Para chamar a função ficaria assim:
<div align='center' style="font-family:verdana; font-size:11px"><%=GeraString(20, 1, 3)%></div>
e o resultado nesse caso seria:
{PKxVKzP3HHscH0nEiDmr - WIFxTPhHbidruMcepAu5 - mI8tnaLWXV3JBJkzyRV1}
em vez de:
MyArr = Array("1","2","3","4","5","6","7","8","9","0","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z")É melhor:MyArr = "1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"MyArr = Split(MyArr,",")OkZ?
mesmo gerando duas senhas =, os usuarios são diferentes
:wacko: Sera que você pederia me dar um aluz e me dizer oque esta errado aqui
No flash MX
receberSenha = new LoadVars();senha.onRelease = function() { receberSenha.login = login.text; mensagem.text = ""; receberSenha.sendAndLoad("../script_asp/gerarsenha.asp", receberSenha, "POST");};receberSenha.onLoad = function() { if (receberSenha.OK == 1) { mensagem.text = "A senha foi enviada para o seu email."; } if (receberSenha.OK == 2) { mensagem.text = "Usuário não cadastrado."; }};Aquivos includes
DataConn
<%
Dim DataConn
Set DataConn = Server.CreateObject("ADODB.Connection")
DataConn.ConnectionTimeout = Application("DataConn_ConnectionTimeout")
DataConn.CommandTimeout = Application("DataConn_CommandTimeout")
DataConn.Open Application("DataConn_ConnectionString"), Application("DataConn_RuntimeUserName"), Application("DataConn_RuntimePassword")
%>
gerarsenha
<%
function gerarsenha()
randomize
Dim i, senha
senha = ""
for i = 1 to 6
senha = senha & chr(int(rnd()*9)+48)
next
gerarsenha = senha
end function
%>
No asp
---------------------------------------------------------------------------------------------------------------------------------------
ASP
[*]<%
[*] Option Explicit
[*] Response.Expires = 0
[*] Dim receberSenha, senha, msg
[*] Dim Rslogin, Sql, Mail
[*] %>
[*]<!--#include file="..\includes\dataconn.inc"-->
[*]<!--#include file="..\includes\gerarsenha.inc"-->
[*]<%
[*]
[*] receberSenha = LCase(Request.Form("login"))
[*] senha = gerarsenha()
[*] sql = "update login set senhaUsuario = '" & senha & "' "
[*] sql = sql & " where login = '" & receberSenha & "'"
[*] DataConn.execute (sql)
[*]
[*] sql = "select nome, login, email from usuarios where login = '" & receberSenha & "'"
[*] Set Rslogin = DataConn.execute(sql)
[*] if Rslogin.eof then
[*] response.write "mensagem=Usuário não cadastrado"
[*] else
[*]
[*] msg = " login: " & receberSenha
[*] msg = msg & " senha: " & senha
[*]
[*] Set Mail = Server.CreateObject("Persits.MailSender")
[*]
[*]Mail.Host = "mail-nt.braslink.com"
[*]Mail.From = "leo@leteri.com"
[*] Mail.To = Rslogin("email") ' e-mail de quem vai receber a mensagem
[*] ' Mailer.CC = "conta@destinatario.com.br" ' Com Cópia
[*] Mail.BodyFormat = 1 ' parametro de formatação
[*] Mail.MailFormat = 1 ' parametro de formatação- cdoMailFormatText
[*] 'Mailer.AttachFile "e:\home\login\dados\arquivo.txt" 'caso queira anexar algum arquivo ao seu e-mail
[*] Mail.Subject = "Nova Senha"
[*] Mail.Body = msg
[*] Mail.Send
[*] Set Mail = Nothing
[*]
[*] msg = "nome " & Rslogin("login") & " - " & Rslogin("nome") & " solicitou a senha!"
[*]Mail.Host = "mail-nt.braslink.com"
[*]Mail.From = "leo@leteri.com"
[*] Mail.To = Rslogin("email") ' e-mail de quem vai receber a mensagem
[*] ' Mailer.CC = "conta@destinatario.com.br" ' Com Cópia
[*] Mail.BodyFormat = 1 ' parametro de formatação
[*] Mail.MailFormat = 1 ' parametro de formatação- cdoMailFormatText
[*] 'Mailer.AttachFile "e:\home\login\dados\arquivo.txt" 'caso queira anexar algum arquivo ao seu e-mail
[*] Mail.Subject = "Solicitação de Senha"
[*] Mail.Body = msg
[*] Mail.Send
[*] Set Mailer = Nothing
[*]
[*] response.write "mensagem=email enviado"
[*]
[*] end if
[*]
[*] Rslogin.close
[*] Set Rslogin = nothing
[*] DataConn.close
[*] Set DataConn = nothing
[*]%>
Web Design Leonardo Leteri
Fone - (11) 5524-6679
Celular - (11) 9517-7434
Trabalho - (11) 5506-0101
www.leteri.com
mais si acaso eu quiser fazer um gerador em ordem crescente?
tipo:
Numero de caracteres: 6
Inicio: 000000
Fim: 999999
geraria algo como:
000000
000001
000002
000003
000004
000....
Iae como fasso isso? gerar sem ser aleatória? estava pensando deve ser só mudar a função Math.random
para algo como Math.crescente (Chutei a função hehe só exemplo)
existem outros exemplos no lab. de script, pode te ajudar
>
existem outros exemplos no lab. de script, pode te ajudar
Obrigado modera vou estudar se não entender crio um topico:joia:
Não achei só gerador eleatório :( vo estudar mais e criar um tópico:D
olha este outro exemplo, pode te ajudar:
<%
Function GeraSenha( nNoChars, sValidChars )
' nNoChars = comprimento da senha gerada
' sValidChars = Validando caracteres
' ( "" ) then
' Padrão para gerar senha: A-Z AND a-z AND 0-9
Const szDefault = "abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNOPQRSTUVXYZ0123456789"
Dim nCount
Dim sRet
Dim nNumber
Dim nLength
Randomize 'iniciando randomização
If sValidChars = "" Then
sValidChars = szDefault
End If
nLength = Len( sValidChars )
For nCount = 1 To nNoChars
nNumber = Int((nLength * Rnd) + 1)
sRet = sRet & Mid( sValidChars, nNumber, 1 )
Next
Password_GenPass = sRet
End Function
%>
<%
Response.Write "Senha A: " & GeraSenha( 10, "" )
%>
<%
Response.Write "<br>Senha B: " & GeraSenha( 5, "ABCabc" )
%>
Fala rockmto boa a função parabensmais só uma coisa, as chances de gerar 2 senhas iguais é quse nula certo? só to confirmando isso...rsrsrsrs! pra tirar minha duvida =)