`
斐斐宝贝
  • 浏览: 8797 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

c++加密解密算法用java方法替代

C++ 
阅读更多
有两个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++)源代码 300多种加密解密算法(C++)源代码

    c(c++)300多种加密解密算法

    此资源加密方式包括 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,...

    c/c++ 与java互通 AES加密解密,算法ECB

    压缩包里有两个工程,一个vc6.0一个myeclipse,本帖是修复贴,原帖地址c/c++ 与java互通 AES加密解密,算法ECB/PKCS5PADDING http://download.csdn.net/download/wangsonghiweed/4328267 -来自CSDN,有童鞋反映有...

    C++实现密码学 RSA加密解密算法

    RSA加密解密算法是密码学中一种常用的加密算法,以 Ron Rivest、Adi Shamir 和 Leonard Adleman 三人命名。该算法基于大数分解问题的困难性,使用公钥加密和私钥解密的方式来保护数据的安全。 该算法的基本原理是:...

    java c++互通的加密算法

    首先,你需要创建一个`SecretKeySpec`对象来存储密钥,然后使用`Cipher`的`init`方法初始化加密/解密上下文,最后调用`doFinal`方法执行加密或解密操作。 **在C++中实现AES**: 在C++中,可以使用第三方库如OpenSSL...

    C++实现简单凯撒加密解密算法

    该资源C++实现简单凯撒加密解密算法,内容简单实用,希望能帮助大家

    C++实现RAS算法,加密解密以及密钥对的产生

    RSA算法是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,是现代密码学的基石之一。...通过理解算法原理和C++编程,我们可以构建出一套完整的加密解密系统,用于保护数据的安全传输。

    c/c++与java互通 AES加密解密

    本话题主要探讨如何在C/C++和Java之间使用基本的字符串和数组操作实现AES加密解密,而不依赖任何额外的加密库。 首先,我们来了解AES加密的基本原理。AES基于块密码,每个数据块为128位,支持128、192和256位的密钥...

    300种加密解密算法(C++)源代码

    本资源包含300种不同的加密解密算法,全部用C++语言编写,并且大部分经过了测试,确保了代码的可用性和正确性。 1. **古典密码学算法**:这些算法通常是基于早期的数学概念,如替换和置换。例如,凯撒密码、...

    c# 和 c++ 通用加密解密 。有c#和c++的例子代码。通用加解密源码.zip

    c# 和 c++ 通用加密解密 。有c#和c++的例子代码。亲测可用 c# 和 c++ 通用加密解密 。有c#和c++的例子代码。亲测可用 c# 和 c++ 通用加密解密 。有c#和c++的例子代码。亲测可用 c# 和 c++ 通用加密解密 。有c#和c++...

    DES加密解密算法包含txt文件加密,分组加密

    在描述中提到的C++实现的DES加密解密算法,主要是针对TXT文本文件进行操作的。TXT文件是一种常见的文本格式,通常用于存储纯文本信息。DES算法在处理这种文件时,会将文件内容视为二进制数据流,然后按照64位的块...

    VC/C++源码,加密解密,MD5,加密算法

    摘要:VC/C++源码,加密解密,MD5,加密算法 VC++源代码写的用于md5加密算法的一个DLL组件源码,虽然是半成品,不过学习一下VC++中编写DLL也是不错的选择,另外还可以研究MD5加密算法具体实施代码。 运行环境:Windows/...

    C++加密/解密库

    标题提到的"C++加密/解密库"正是指这样的库,它们提供了一系列的函数和类,帮助开发者实现数据的加密和解密操作,确保信息安全。 描述虽然简洁,但暗示了我们讨论的主题是关于C++中用于加密和解密的库。这些库通常...

    C++实现RSA加密解密算法

    以上就是关于RSA加密解密算法的基本知识,以及在VC++环境下实现的概述。理解并掌握RSA算法对于深入学习网络安全和密码学至关重要。在具体编程实现时,还需要考虑到错误处理、输入输出的格式化以及代码的优化等问题。

    C语言实现加密解密算法

    本文将深入探讨如何使用C语言实现加密解密算法,并基于提供的文件信息进行讲解。 首先,C语言是一种底层编程语言,它允许直接操作内存,因此非常适合实现复杂的数学运算,如加密算法。常见的加密算法有对称加密(如...

    RSA 加密解密算法C语言 (含linux)

    RSA加密解密算法是公开密钥密码体制的一种典型代表,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,因此得名RSA。这种算法基于大整数因子分解的困难性,即找到两个大素数的乘积很容易,但将该乘积分解回...

    c++ 加密, java解密 互通,下载直接引用

    在Java中,我们可以使用Java Cryptography Extension (JCE) 来进行AES解密。Java的Cipher类提供了AES的实现。以下是一个简单的Java AES解密示例: ```java import javax.crypto.Cipher; import javax.crypto.spec....

    加密算法模块(VC++)-算法源码吧-加密解密算法- C_C++

    本资源“加密算法模块(VC++)”提供了一系列基于C++编写的加密和解密算法,对于开发者来说,是深入理解并应用这些算法的理想起点。 首先,让我们了解一下加密的基本概念。加密是一种将明文数据转化为看似随机的密文...

    C++/java/C#语言的AES加密解密

    标题中的"C++/java/C#语言的AES加密解密"涉及到的是三种常用编程语言——C++、Java和C#在实现AES(Advanced Encryption Standard,高级加密标准)算法上的应用。AES是一种广泛使用的对称加密算法,它在信息安全领域...

    AES加密解密算法C++,Rijndael加密算法,可加密长字符串

    AES的C++实现意味着我们可以利用C++编程语言来开发基于AES的加密解密功能,这对于软件开发、数据保护和网络通信等领域至关重要。 AES的核心在于它的分组加密过程,它将明文分成128位的数据块进行处理。AES支持三种...

Global site tag (gtag.js) - Google Analytics