[Resolvido] [Código] Criptografia em C++
Para aprendizado de Design de Software e Programação em C++, desenvolvi um pequeno código que acredito eu que seja uma criptografia.
main.cpp
/*
* Criado por Bruno Alano Medina.
* Intuito de Aprendizado e Métodos openSource de Criptografia não
comercial. Não é recomendado a utilização em projetos que
usam dados importantes.
* Na licença de: GNU General Public License, version 3 (GPLv3).
Você tem direito de:
- Distribuir, portanto deve manter os créditos dos autores.
- Modificar, portanto deve manter os créditos dos autores.
Você não tem direito de:
- Vender ou utilizar em fins comerciais.
* http://brunoalano.com.br
* Criado em PUC / PR.
*/
#include <iostream>
#include "calculator.h"
int main(int argc, char *argv[])
{
openKey::Calculator first("Bruno Alano", 13);
int theKey = first.generateKey();
std::cout << theKey << std::endl;
return 0;
}
calculator.h
/*
* Criado por Bruno Alano Medina.
* Intuito de Aprendizado e Métodos openSource de Criptografia não
comercial. Não é recomendado a utilização em projetos que
usam dados importantes.
* Na licença de: GNU General Public License, version 3 (GPLv3).
Você tem direito de:
- Distribuir, portanto deve manter os créditos dos autores.
- Modificar, portanto deve manter os créditos dos autores.
Você não tem direito de:
- Vender ou utilizar em fins comerciais.
* http://brunoalano.com.br
* Criado em PUC / PR.
*/
#ifndef CALCULATOR_H_INCLUDED
#define CALCULATOR_H_INCLUDED
#include <string>
namespace openKey
{
class Calculator
{
std::string text;
int layers;
public:
Calculator(std::string get_text, int get_layers);
int generateKey();
};
}
#endif // CALCULATOR_H_INCLUDED
calculator.cpp
/*
* Criado por Bruno Alano Medina.
* Intuito de Aprendizado e Métodos openSource de Criptografia não
comercial. Não é recomendado a utilização em projetos que
usam dados importantes.
* Na licença de: GNU General Public License, version 3 (GPLv3).
Você tem direito de:
- Distribuir, portanto deve manter os créditos dos autores.
- Modificar, portanto deve manter os créditos dos autores.
Você não tem direito de:
- Vender ou utilizar em fins comerciais.
* http://brunoalano.com.br
* Criado em PUC / PR.
*/
#include "calculator.h"
#include <iostream>
openKey::Calculator::Calculator(std::string get_text, int get_layers)
{
this->text.append(get_text);
this->layers = get_layers;
}
int openKey::Calculator::generateKey()
{
/*
Fórmula:
((letra proxima_Letra) layers)
*/
std::string::iterator counter;
std::string::iterator temp_letter;
temp_letter = this->text.begin();
int returnKey;
for (counter = this->text.begin(); counter < this->text.end(); counter++)
{
int temp = (int) *counter;
// Carregar Letra Seguinte
temp_letter++;
// Ultima Letra não é Multiplicada
if ((int) *temp_letter != 0)
{
temp *= (int) *temp_letter;
}
// Executa as Camadas
temp *= this->layers;
returnKey += temp;
}
// Example Return (__REMOVE_THIS)
return returnKey;
}
Por favor, avaliem a organização do código e todo o resto.
Grato, Bruno Alano.
Discussão (0)
Carregando comentários...