gastao Posted September 27, 2012 at 10:46 PM Report #476857 Posted September 27, 2012 at 10:46 PM boas alguem sabe como posso gerar diversas palavras passe consoante um nif e mais dois numeros que tou a mostrar?? imaginem que quero 6 x senhas para aquele cliente... alguem consegue dar uma dica?
Kline777 Posted September 28, 2012 at 09:30 AM Report #476890 Posted September 28, 2012 at 09:30 AM arranjas uma formula matematica que respeite uma certa regra para o nif e os outros 2 numeros... Tipo imagina que a tua regra é que a soma dos numeros da password é igual à soma dos numero do NIF. Uma regra assim dava-te N passes para um NIf... Agora tens é de complicar 😛
gastao Posted September 28, 2012 at 11:39 AM Author Report #476898 Posted September 28, 2012 at 11:39 AM mas como e q faço isso?? pq isto e tipo licenciamento a um nif e para aquele nf tem uma certa aplicaçao e aquela aplicaçao vai ser usada em X computadores, alguem consegue dar umas luzes?
gastao Posted December 26, 2012 at 11:05 PM Author Report #488525 Posted December 26, 2012 at 11:05 PM tenho a seguinta formula: Dim Chave As Random = New Random() TextBox3.Text = Chave.Next(Label7.Text, Label5.Text) (eu se acrescentar aqui mais campos para ele me gerar a chave aleatoria nao me faz alguem me consegue dar uma ajuda?) mas queria meter por exemplo macaddress que e unico em cada maquina que eu quero que aquela chave so de naquele computador. Depois tenho que validar isso num servidor remoto.
NunoDinis Posted December 26, 2012 at 11:21 PM Report #488529 Posted December 26, 2012 at 11:21 PM mas queria meter por exemplo macaddress que e unico em cada maquina que eu quero que aquela chave so de naquele computador. Experimenta: Public Function GetMACAddress() As String Dim mc As New ManagementClass("Win32_NetworkAdapterConfiguration") Dim moc As ManagementObjectCollection = mc.GetInstances() Dim MACAddress As String = [string].Empty For Each mo As ManagementObject In moc If MACAddress = [string].Empty Then ' only return MAC Address from first card If CBool(mo("IPEnabled")) = True Then MACAddress = mo("MacAddress").ToString() End If End If mo.Dispose() Next MACAddress = MACAddress.Replace(":", "") Return MACAddress End Function Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org
gastao Posted December 26, 2012 at 11:27 PM Author Report #488534 Posted December 26, 2012 at 11:27 PM (edited) tipo isso ta me a ir buscar apenas o mac address da maquina nao e isso que eu quero... eu quero e criar uma chave aleatoria usando macaddress, nif de um cliente, pois este programa nao vai estar sequer a correr na maquina que me vao dar o macaddress Dim Chave As Random = New Random() TextBox3.Text = Chave.Next(TextBox4.Text, Label5.Text) MACADDRESS NIF esfa funçao nao me da o random do mesmo devido ao macaddress ter letras e - Edited December 26, 2012 at 11:33 PM by apocsantos
NunoDinis Posted December 26, 2012 at 11:31 PM Report #488537 Posted December 26, 2012 at 11:31 PM Bom... estás-me a confundir homem! Afinal queres uma chave aleatória ou queres que a chave seja o mac address ? Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org
apocsantos Posted December 26, 2012 at 11:32 PM Report #488539 Posted December 26, 2012 at 11:32 PM Boa noite, O MAC Address está longe de ser unico. A probabilidade de ser "repetido" é práticamente inexistente, mas não é totalmente unico. Ainda assim pode sempre ser alvo de spoof, não sendo seguro para o que pertendes. Tens neste link um bom exemplo bastante detalhado de como obter práticamente todos os hardware ID's possiveis numa maquina. Se a tua ideia é usar um sistema de chaves, pensa em usar um algoritmo tipo 3DES ou AES, para gerar a chave. Cordiais cumprimentos, Apocsantos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"
gastao Posted December 26, 2012 at 11:33 PM Author Report #488540 Posted December 26, 2012 at 11:33 PM tipo quero com o programa me crie uma chave consoante os dados que eu lhe dou ou seja vou lhe dar um Nif e um MacAddress e ele nesses dados vai criar uma chave que ira ser validade num servidor remoto.
NunoDinis Posted December 26, 2012 at 11:41 PM Report #488545 Posted December 26, 2012 at 11:41 PM Se a tua ideia é usar um sistema de chaves, pensa em usar um algoritmo tipo 3DES ou AES, para gerar a chave. Podes optar pela solução dada pelo @apocaSantos. Ou então, como já foi dito acima, podes jogar com os dados. Visto que recebes um Nif e um MacAddress (já agora vais-lhe dar o MacAddress à unha?), podes por exemplo pegar nos quatro primeiros números do NIF e os quatro últimos e fazer uma soma/subtração/divisão, whatever. Contudo, se te apanham a lógica utilizada estás em maus lençois. Definitivamente não será uma forma muito segura de gerar a password, mas é uma ideia. No entanto, podes permitir que o utilizador a mude, caso tenha permissão para isso e o teu programa esteja definido para que os utilizadores possam entrar.. Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org
gastao Posted December 26, 2012 at 11:41 PM Author Report #488546 Posted December 26, 2012 at 11:41 PM Boa noite, O MAC Address está longe de ser unico. A probabilidade de ser "repetido" é práticamente inexistente, mas não é totalmente unico. Ainda assim pode sempre ser alvo de spoof, não sendo seguro para o que pertendes. Tens neste link um bom exemplo bastante detalhado de como obter práticamente todos os hardware ID's possiveis numa maquina. Se a tua ideia é usar um sistema de chaves, pensa em usar um algoritmo tipo 3DES ou AES, para gerar a chave. Cordiais cumprimentos, Apocsantos vou usar a tua ideia e buscar por exemplo o id do disco rigido da maquina saber qual o serial ou algo e a partir desse serial gerar me o AES.
Carlos Pais Posted December 28, 2012 at 11:14 PM Report #488893 Posted December 28, 2012 at 11:14 PM eu tenho uma coisa assim, o que faz é simples, ele pega em 3 variavies, separa letra a letra, depois comverte em codigo ASC e soma todos os codigos ASC, e depois muitiplica por um numero qualquer e divide por outro, sendo este ultimo um control para não dar numeros muito grandes 1º CRIAR O CODIGO For G = 1 To Len(FIRMATextBox.Text + DATATextBox.Text + NLICENCATextBox.Text ) Letra = Mid(FIRMATextBox.Text + DATATextBox.Text + NLICENCATextBox.Text , G, 1) TT = TT + Asc(Letra) Next G CODIGOVALIDACAOTextBox.Text = Int(TT * 884546445 / 548) 2º VALIDAR O CODIGO For G = 1 To Len(FIRMATextBox.Text + DATATextBox.Text + NLICENCATextBox.Text ) Letra = Mid(FIRMATextBox.Text + DATATextBox.Text + NLICENCATextBox.Text , G, 1) TT = TT + Asc(Letra) Next G If Val(CODIGOVALIDACAOTextBox.Text) <> Int(TT * 884546445 / 548) Then Call ErroLicenca("Licença Invalida") 😵😴🥵🥴 No Desenvolvimento as Possibilidades são Infinitas 😵😴🥵🥴 , podemos é ficar doidos ...
gastao Posted January 3, 2013 at 01:57 AM Author Report #489337 Posted January 3, 2013 at 01:57 AM fiz da maneira que o apocsantos disse para fazer depois eu mostro exemplos do que fiz... de momento nao csg faze lo que tenho andado com trabalho devido a certificaçoes e afins..
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now