有两个c++文件,里面有加密,解密算法,求大神把加密,解密算法用java实现,求大神。
文件Crypt.h
#if !defined(AFX_CRYPT_H__613C5174_16F0_42A5_9493_C7489534C080__INCLUDED_)
#define AFX_CRYPT_H__613C5174_16F0_42A5_9493_C7489534C080__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CCrypt
{
static char *m_key;
public:
static CString decrypt(CString str);
static CString encrypt(CString str);
};
#endif // !defined(AFX_CRYPT_H__613C5174_16F0_42A5_9493_C7489534C080__INCLUDED_)
文件Crypt.cpp
#include "stdafx.h"
#include "crypt.h"
#include <atlconv.h>
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Konstruktion/Destruktion
//////////////////////////////////////////////////////////////////////
char* CCrypt::m_key = "FILEZILLA1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ";
CString CCrypt::encrypt(CString str)
{
USES_CONVERSION;
int pos=str.GetLength()%strlen(m_key);
CString ret;
LPCSTR lpszAscii=T2CA(str);
for (unsigned int i=0;i<strlen(lpszAscii);i++)
{
CString tmp=ret;
ret.Format(_T("%s%03d"),tmp,(unsigned char)lpszAscii[i]^m_key[(i+pos)%strlen(m_key)]);
}
return ret;
}
CString CCrypt::decrypt(CString str)
{
USES_CONVERSION;
LPCSTR lpszAscii=T2CA(str);
int pos=(strlen(lpszAscii)/3)%strlen(m_key);
CString ret;
char buffer[4];
buffer[3]=0;
for (unsigned int i=0;i<strlen(lpszAscii)/3;i++)
{
memcpy(buffer,lpszAscii+i*3,3);
TCHAR tmp[2];
tmp[1]=0;
tmp[0]=atoi(buffer)^m_key[(i+pos)%strlen(m_key)];
ret+=tmp;
}
return ret;
}
分享到:
相关推荐
300多种加密解密算法(C++)源代码 300多种加密解密算法(C++)源代码
此资源加密方式包括 MD2, MD5, SHA-1, HAVAL, Tiger, RIPE-MD160, MD5-MAC, HMAC, XOR-MAC, DES,IDEA, WAKE, 3-WAY, TEA, SAFER, Blowfish,SHARK, GOST, CAST-128, Square,Diamond2, Sapphire, RC2, RC5, RC6, MARS,...
压缩包里有两个工程,一个vc6.0一个myeclipse,本帖是修复贴,原帖地址c/c++ 与java互通 AES加密解密,算法ECB/PKCS5PADDING http://download.csdn.net/download/wangsonghiweed/4328267 -来自CSDN,有童鞋反映有...
RSA加密解密算法是密码学中一种常用的加密算法,以 Ron Rivest、Adi Shamir 和 Leonard Adleman 三人命名。该算法基于大数分解问题的困难性,使用公钥加密和私钥解密的方式来保护数据的安全。 该算法的基本原理是:...
首先,你需要创建一个`SecretKeySpec`对象来存储密钥,然后使用`Cipher`的`init`方法初始化加密/解密上下文,最后调用`doFinal`方法执行加密或解密操作。 **在C++中实现AES**: 在C++中,可以使用第三方库如OpenSSL...
该资源C++实现简单凯撒加密解密算法,内容简单实用,希望能帮助大家
RSA算法是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,是现代密码学的基石之一。...通过理解算法原理和C++编程,我们可以构建出一套完整的加密解密系统,用于保护数据的安全传输。
本话题主要探讨如何在C/C++和Java之间使用基本的字符串和数组操作实现AES加密解密,而不依赖任何额外的加密库。 首先,我们来了解AES加密的基本原理。AES基于块密码,每个数据块为128位,支持128、192和256位的密钥...
本资源包含300种不同的加密解密算法,全部用C++语言编写,并且大部分经过了测试,确保了代码的可用性和正确性。 1. **古典密码学算法**:这些算法通常是基于早期的数学概念,如替换和置换。例如,凯撒密码、...
c# 和 c++ 通用加密解密 。有c#和c++的例子代码。亲测可用 c# 和 c++ 通用加密解密 。有c#和c++的例子代码。亲测可用 c# 和 c++ 通用加密解密 。有c#和c++的例子代码。亲测可用 c# 和 c++ 通用加密解密 。有c#和c++...
在描述中提到的C++实现的DES加密解密算法,主要是针对TXT文本文件进行操作的。TXT文件是一种常见的文本格式,通常用于存储纯文本信息。DES算法在处理这种文件时,会将文件内容视为二进制数据流,然后按照64位的块...
摘要:VC/C++源码,加密解密,MD5,加密算法 VC++源代码写的用于md5加密算法的一个DLL组件源码,虽然是半成品,不过学习一下VC++中编写DLL也是不错的选择,另外还可以研究MD5加密算法具体实施代码。 运行环境:Windows/...
标题提到的"C++加密/解密库"正是指这样的库,它们提供了一系列的函数和类,帮助开发者实现数据的加密和解密操作,确保信息安全。 描述虽然简洁,但暗示了我们讨论的主题是关于C++中用于加密和解密的库。这些库通常...
以上就是关于RSA加密解密算法的基本知识,以及在VC++环境下实现的概述。理解并掌握RSA算法对于深入学习网络安全和密码学至关重要。在具体编程实现时,还需要考虑到错误处理、输入输出的格式化以及代码的优化等问题。
本文将深入探讨如何使用C语言实现加密解密算法,并基于提供的文件信息进行讲解。 首先,C语言是一种底层编程语言,它允许直接操作内存,因此非常适合实现复杂的数学运算,如加密算法。常见的加密算法有对称加密(如...
RSA加密解密算法是公开密钥密码体制的一种典型代表,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,因此得名RSA。这种算法基于大整数因子分解的困难性,即找到两个大素数的乘积很容易,但将该乘积分解回...
在Java中,我们可以使用Java Cryptography Extension (JCE) 来进行AES解密。Java的Cipher类提供了AES的实现。以下是一个简单的Java AES解密示例: ```java import javax.crypto.Cipher; import javax.crypto.spec....
本资源“加密算法模块(VC++)”提供了一系列基于C++编写的加密和解密算法,对于开发者来说,是深入理解并应用这些算法的理想起点。 首先,让我们了解一下加密的基本概念。加密是一种将明文数据转化为看似随机的密文...
标题中的"C++/java/C#语言的AES加密解密"涉及到的是三种常用编程语言——C++、Java和C#在实现AES(Advanced Encryption Standard,高级加密标准)算法上的应用。AES是一种广泛使用的对称加密算法,它在信息安全领域...
AES的C++实现意味着我们可以利用C++编程语言来开发基于AES的加密解密功能,这对于软件开发、数据保护和网络通信等领域至关重要。 AES的核心在于它的分组加密过程,它将明文分成128位的数据块进行处理。AES支持三种...