怎么对ini配置文件中的参数进行加密?

fkueffff20070302 2011-03-25 08:13:27
为了动态连接SQL数据库,把数据库的一些参数写到了ini文件,程序只要读取ini文件就可以了.但是这样,数据库就完全暴露出来了,怎么对这些参数进行加密呢?
...全文
1308 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cptang 2012-08-20
  • 打赏
  • 举报
回复
老青椒?

就是传说中的 老青?
奕诚 2012-08-20
  • 打赏
  • 举报
回复
做过批处理,生产.cfg文件就行了……
魔方幻影 2011-03-31
  • 打赏
  • 举报
回复
Mark~
draculamx 2011-03-28
  • 打赏
  • 举报
回复
果断MARK
wangcftxz 2011-03-28
  • 打赏
  • 举报
回复
厲害 對我有用
sxqinge 2011-03-28
  • 打赏
  • 举报
回复
MARK下,呵呵
paste 2011-03-28
  • 打赏
  • 举报
回复
http://www.oidn.net/post/13.html

算了,代码太长了发不出来,, 看上面URL吧..
paste 2011-03-28
  • 打赏
  • 举报
回复
好人做到底 老青椒分享 超强大的AES,rijndael类


.H


// rijndael.h: interface for the rijndael class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_RIJNDAEL_H__65AE854C_7E77_4488_AC14_66161F67B341__INCLUDED_)
#define AFX_RIJNDAEL_H__65AE854C_7E77_4488_AC14_66161F67B341__INCLUDED_

typedef unsigned char u1byte; /* an 8 bit unsigned character type */
typedef unsigned short u2byte; /* a 16 bit unsigned integer type */
typedef unsigned long u4byte; /* a 32 bit unsigned integer type */
typedef signed char s1byte; /* an 8 bit signed character type */
typedef signed short s2byte; /* a 16 bit signed integer type */
typedef signed long s4byte; /* a 32 bit signed integer type */
/* 2. Standard interface for AES cryptographic routines */
/* These are all based on 32 bit unsigned values and may require */
/* endian conversion for big-endian architectures */
#define LITTLE_ENDIAN

/* 3. Basic macros for speeding up generic operations */
/* Circular rotate of 32 bit values */
#ifdef _MSC_VER
# include <stdlib.h>
# pragma intrinsic(_lrotr,_lrotl)
# define rotr(x,n) _lrotr(x,n)
# define rotl(x,n) _lrotl(x,n)
#else
#define rotr(x,n) (((x) >> ((int)(n))) | ((x) << (32 - (int)(n))))
#define rotl(x,n) (((x) << ((int)(n))) | ((x) >> (32 - (int)(n))))
#endif
/* Invert byte order in a 32 bit variable */
#define bswap(x) (rotl(x, 8) & 0x00ff00ff | rotr(x, 8) & 0xff00ff00)
/* Extract byte from a 32 bit quantity (little endian notation) */
#define byte(x,n) ((u1byte)((x) >> (8 * n)))
/* Input or output a 32 bit word in machine order */
#ifdef LITTLE_ENDIAN
#define u4byte_in(x) (*(u4byte*)(x))
#define u4byte_out(x, v) (*(u4byte*)(x) = (v))
#else
#define u4byte_in(x) bswap(*(u4byte *)(x))
#define u4byte_out(x, v) (*(u4byte*)(x) = bswap(v))
#endif


class rijndael
{
public:
public:
char *name(void);
void set_key(const u1byte key[], const u4byte key_len);
void encrypt(const u1byte in_blk[16], u1byte out_blk[16]);
void decrypt(const u1byte in_blk[16], u1byte out_blk[16]);

private:
u4byte k_len;
u4byte e_key[64];
u4byte d_key[64];
};

#endif // !defined(AFX_RIJNDAEL_H__65AE854C_7E77_4488_AC14_66161F67B341__INCLUDED_)



paste 2011-03-28
  • 打赏
  • 举报
回复
DES AES,,这样的代码挺多,,对称加密,, 将要保密的数据加密后保存,,使用时读取再解密.

以上二种算法,,网上都有标准 C源码的
我不懂电脑 2011-03-26
  • 打赏
  • 举报
回复
先加密然后存到ini,加密方法可以采取每位取反的方式。
Jim@luckeeinc.com 2011-03-25
  • 打赏
  • 举报
回复
加密的方法很多
可以自己按照一定的规则给里面的字符加一定的值 或者减一定的值 用的时候再还原回来
也有很多加密算法

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧