Jump to content
gastao

senha - contrasenha

Recommended Posts

gastao

como e q consigo que faça um tipo de senha como a chave do Windows por exemplo e uma contrassenha que corresponda a essa senha, vou usar esse método para validar os meus programas...

alguém consegue dar uma ajuda?

Share this post


Link to post
Share on other sites
gastao

não, imagina eu tenho um nif um id e o numero de serie do disco.

eu csg juntar isso tudo num textbox por exemplo e encryptar mas queria algo do genero de me dar uma password com esses mesmos dados do genero;

XXXXX-XXXX-XXXXX-XXXXX-XXXXX - Senha

XXXXX-XXXX-XXXXX-XXXXX-XXXXX - Contrasenha

e que esses dados não fossem aleatórios, isto e do genero para licenciar software remotamente...

Share this post


Link to post
Share on other sites
Rui Carlos

alguém me csg dar uma ajuda?

Se tiveres o cuidado de escrever português correcto, em particular com pontuação, é mais provável obteres ajuda.


Antes de mais, convém teres em conta que não tens uma forma infalível para resolver o problema (seja através de reverse engineering do programa, editando o programa, ou de outro método qualquer).

Uma forma comum de resolver o problema, é obtendo um hash do id da máquina/utilizador. No teu programa, só tens de verificar se o hash para aquele id é o fornecido pelo utilizador.

Um método um pouco mais elaborado, passa por usares criptografia assimétrica. Tens um par chave pública/privada. A chave privada fica contigo, e usas-la para cifra o id da máquina/utilizador, e gerar a key que disponibilizas ao utilizador. Na tua aplicação, usas a chave pública para decifrar a key, e verificar se tem o valor do id da máquina/utilizador.

Ou seja, geras uma par chave privada/pública (privKey,pubKey).

privKey fica contigo, para gerares chaves para o programa.

pubKey vai com o programa, para validares as chaves do programa que geras.

Um utilizador compra o programa, e quer uma chave para desbloquear o programa.

- Ele dá-te um id de máquina/utilizador (progId).

- Tu cifras esse progId com a chave privada, gerando a chave para desbloquear o programa (progKey).

- A aplicação usa a chave pública para decifra a progKey, e verifica se a mesma é igual a progId.

var privKey, pubKey, progId, progKey

// Gerar chave
var progKey = rsa_encrypt(progId, privKey)

// Verificar chave
var progId = rsa_decrypt(progKey, pubKey)

Share this post


Link to post
Share on other sites
gastao

boas Carlos,

percebes te o que eu quero realmente, eu tenho dois elementos para gerar essas chaves, nif e o n/s do disco onde a aplicação vai ficar instalada, eu apenas preciso de saber como é que eu posso gerar as minhas chaves...

depois a contrachave vou me ligar ao meu servidor, e se ela coincidir ele deixa aceder ao programa e usar o programa... pois o programa so vai funcionar se autenticar 1 no meu servidor.

Edited by gastao

Share this post


Link to post
Share on other sites
Rui Carlos

Já falaste aí em chaves, contrachave, nif e o n/s do disco, o que já me começa a parecer confusão a mais...

O teu objectivo continua a não estar claro. Acho que era melhor começares por descrever o problema que queres resolver, sem falar na solução (i.e., sem falar nas chaves e contrachaves).

Share this post


Link to post
Share on other sites
gastao

Carlos a ver se me percebes

é simples eu tenho um NIF e um numero de serie do disco rígido dessas duas coisas quero chegar duas chaves.

Umas que me vai servir de Senha.

Outra vai me servir de Contrassenha.

E queria que o formato fosse tipo exemplo : XXXXX-XXXX-XXXXX-XXXXX-XXXXX Alfanumérico

Share this post


Link to post
Share on other sites
gastao

eu desta forma csg gerar serials aleatórios queria era achar uma forma de encaixar as minhas variaveis

Public Function GetSerialNumber() As String
	Dim serialGuid As Guid = Guid.NewGuid()
	Dim uniqueSerial As String = serialGuid.ToString("N")
	'Dim uniqueserial As String = Label6.Text
	Dim uniqueSerialLength As String = uniqueSerial.Substring(0, 28).ToUpper()
	Dim serialArray As Char() = uniqueSerialLength.ToCharArray()
	Dim finalSerialNumber As String = ""

	Dim j As Integer = 0
	For i As Integer = 0 To 27
		For j = i To 4 + (i - 1)
			finalSerialNumber += serialArray(j)
		Next
		If j = 28 Then
			Exit For
		Else
			i = (j) - 1
			finalSerialNumber += "-"
		End If
	Next
	Return finalSerialNumber
End Function

Edited by gastao

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.