实现字符串加密操作源码
来源:互联网 发布:mac地址是什么 编辑:程序博客网 时间:2024/06/13 08:43
source.c
------------------------------------------------------------
#include <stdio.h>#include <stdlib.h>
#include <string.h>
#include "source.h"
/***************************************/
功能:去掉密钥字符串中重复的字符
输入参数:
const char * uiSrcChr 密钥
输出参数:
返回值:
char szSrcChr[100]; 处理后的密钥
/**************************************/
char * DelRepChr(const char * uiSrcChr)
{
int iLoop = 0;
int jLoop = 0;
int mValue = 0;
int mStrLen = 0;
char szSrcChr[100] = {0};
mStrLen = strlen(uiSrcChr);
strncpy(szSrcChr, uiSrcChr, strlen(uiSrcChr));
for (iLoop; iLoop < mStrLen; iLoop++)
{
for(jLoop = iLoop + 1; jLoop < mStrLen; jLoop++)
{
if((szSrcChr[iLoop] == szSrcChr[jLoop]) || (szSrcChr[iLoop] + 32 == szSrcChr[jLoop]) || (szSrcChr[iLoop] == szSrcChr[jLoop] + 32))
{
for(mValue = jLoop; mValue < mStrLen; mValue++)
{
szSrcChr[mValue] = szSrcChr[mValue + 1];
}
mStrLen--;
}
}
}
return szSrcChr;
}
/**********************************/
功能:根据密匙对明文进行加密
输入参数:
char * key:密匙
char * data:明文
输出参数:
char * encrypt:密文
返回值:
void
/**********************************/
void encrypt(char * pcKey, char * pcData, char * pcEncrypt)
{
/*在这里实现功能*/
int iLoop = 0;
int jLoop = 0;
int mDataLen = 0;
char szEncrypt[100] = {0};
char szSrcStr[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char szDstStr[100] = {0};
char szKey[100] = {0};
if (NULL == pcData && NULL == *pcData)
{
return ;
}
strncpy(szEncrypt, pcKey, sizeof(pcKey));
strcpy(szKey, DelRepChr(pcKey));
sprintf(szKey, "%s%s", szKey,szSrcStr);
strcpy(szDstStr, DelRepChr(szKey));
mDataLen = strlen(pcData);
memset(szEncrypt, 0, sizeof(szEncrypt));
strncpy(szEncrypt, pcData, mDataLen);
for (iLoop; iLoop < mDataLen; iLoop++)
{
jLoop = 0;
for (jLoop; jLoop < strlen(szSrcStr); jLoop++)
{
if (szEncrypt[iLoop] == szSrcStr[jLoop])
{
szEncrypt[iLoop] = szDstStr[jLoop];
break;
}
else
{
if (szEncrypt[iLoop] == szSrcStr[jLoop] + 32)
{
szEncrypt[iLoop] = szDstStr[jLoop] + 32;
break;
}
else
continue;
}
}
}
sprintf(pcEncrypt, "%s", szEncrypt);
}
main.c
-----------------------------
char acEncrypt[100] = {0};
encrypt("TRAILBLAZERS", "Attack AT DAWN", acEncrypt);
printf("The result is acEncrypt = %s\n", acEncrypt);
CPPUNIT_ASSERT(strcmp(acEncrypt, "Tpptad TP ITVH") == 0);
0 0
- 实现字符串加密操作源码
- 不使用库函数,实现字符串操作源码
- c++字符串操作函数的源码实现
- java实现字符串加密
- java实现字符串加密,登录密码加密
- Android 加密功能实现源码
- 如何实现给字符串加密
- Nodejs中实现字符串加密
- 简单实现MD5加密字符串
- Jmeter实现对字符串加密
- .net 实现字符串加密解密
- Jmeter实现对字符串加密
- C#中字符串的加密的源码
- 项目中js对于字符串加密源码
- Java实现MD5加密_字符串加密_文件加密
- Java实现MD5加密操作
- 简单的数组操作字符串,加密可用
- AMPS:字符串操作源码解读
- Orale 大牛们的博客
- 黑马程序员_07_static_main_工具类_static代码块_单例模式
- css+div网页布局常见错误总汇
- Linux防火墙iptables学习笔记(二)参数指令
- 看戏
- 实现字符串加密操作源码
- Linux防火墙iptables学习笔记(三)iptables命令详解和举例
- 网资平台安全吗
- java新手可以来这里看看
- 字符数组与字符串区别
- Linux防火墙iptables学习笔记(四)iptables实现NAT
- 软件开发思路之一
- Oracle错误代码大全
- 用java编写简单Webserver,理解webserver的功能。