求快速文本加密算法

时间:2021-07-12 23:30:16
对一个常的文本文件进行加密处理,对加密的强度不做要求,只要不现实原来字符就行了。但是要求速度一定要快,请各位指教。最好能给段例程。多谢了。

18 个解决方案

#1


一个字符串Xor另外一个字符串
加密和解密的速度一样快...

#2


能不能给段程序看一下?多谢了。

#3


//pBuf是你的那段文本或加密后的密文,iLen是文本的长度,用该函数加密源文本,用该函数也可解密密文
void Des(char *pBuf,int iLen)
{
int i;

for(i=0;i<iLen;i++)
{
pBuf[i]^=iLen-i;
}
}

#4


    首先多谢mach。但是一个字符一个字符的加密速度太慢了。我试过的。能不能一个字符串一下子加密?或者最好是一个文件一下子加密?
    谢谢。

#5


可以做到一次加密32位,要做到一个字符串一下子加密或者是一个文件一下子加密恐怕够呛,其实在内存中进行这样简单的运算,慢不到哪去,你感觉很慢,是不是因为文件操作呢?

#6


你可考虑分组加密算法,idea是各很好的算法
email:yfms@263.ent
yfms@hl.cninfo.net

#7


我觉得你的时间不是浪费在了计算上,肯定有其他什么浪费了时间
我以前用M200 PWIN95 进行过一次测试
你可以参考一下
100000000次
int+int 2.480s
real+real 8.630s
double+double 8.600s
inc(int) 2.300s

if i<100000000 then int+int 3.200s
if i<100000000 then double+double 13.600s
 
int*int 7.500s
real*real 12.500s
double*double 12.500s
Word*word 8.200s

#8


    整个文件一下子加密,最好用 WPS 或别的什么,加个口令就行了。
    MOV CX,FFFF
    XOR AX,AX
    PUSH AX
    POP DS
    MOV SI,0
ENC:
    MOV AL, CS:SI
    XOR AL, 0AB
    MOV CS:SI,AL
    INC SI
    LOOP ENC
    多爽!完了。(ZDG 的方法,也许应该在 DOS 下运行,还有错)

#9


使用取模算法加密最快

#10


how fasgter?

#11


可以尝试位移方法,但仍然需要每次32位的方式多次操作.一次性将整个文档加密,PC机可能是没有办法.

#12


请参考最近出版的加密算法书,会给你一些思路书名是什么记不清了我可以帮你买一本
weplus@sohu.com

#13


对文件整体加密,肯定得读一次,写一次,快慢取决于文件大小,算法只要不是太复杂,可以忽略不记。keri觉得慢,决不是算法的问题,而是文件的操作问题,如有没有使用文件缓冲区?如果使用了文件缓冲区,这文件操作方法关系不大,如果没有使用文件缓冲区,则一次读写一个字符和一次读写一行或一块区别较大。

#14


文件加密有两种办法:分组加密和公开密钥加密,使用流密码也可以加密。
对文件加密,如果不要求加密强度,可以随便使用一个算法。
至于keri觉得慢,我想是因为一次读写一个字符(调用两次系统函数只完成一个字符的加密当然慢!),可以一次读入4k的倍数的文件内容。mach的算法应该比任何稍微强的加密算法都快。

#15


des, idea, bf in openssl.org.

#16


des太慢。对加密强度要求不要的话并不适合。
我个人推荐你试试TEA,RC算法,BLOWFISH算法也比较快。
源码我可以提供。
其实加密原理都是移位和异或,关键是最终能否还原。

#17


RC4算法的速度和加密强度比较适中,实现起来也方便。

#18


犯不着这么追求速度吧!
还是去干点正事比较好。

#1


一个字符串Xor另外一个字符串
加密和解密的速度一样快...

#2


能不能给段程序看一下?多谢了。

#3


//pBuf是你的那段文本或加密后的密文,iLen是文本的长度,用该函数加密源文本,用该函数也可解密密文
void Des(char *pBuf,int iLen)
{
int i;

for(i=0;i<iLen;i++)
{
pBuf[i]^=iLen-i;
}
}

#4


    首先多谢mach。但是一个字符一个字符的加密速度太慢了。我试过的。能不能一个字符串一下子加密?或者最好是一个文件一下子加密?
    谢谢。

#5


可以做到一次加密32位,要做到一个字符串一下子加密或者是一个文件一下子加密恐怕够呛,其实在内存中进行这样简单的运算,慢不到哪去,你感觉很慢,是不是因为文件操作呢?

#6


你可考虑分组加密算法,idea是各很好的算法
email:yfms@263.ent
yfms@hl.cninfo.net

#7


我觉得你的时间不是浪费在了计算上,肯定有其他什么浪费了时间
我以前用M200 PWIN95 进行过一次测试
你可以参考一下
100000000次
int+int 2.480s
real+real 8.630s
double+double 8.600s
inc(int) 2.300s

if i<100000000 then int+int 3.200s
if i<100000000 then double+double 13.600s
 
int*int 7.500s
real*real 12.500s
double*double 12.500s
Word*word 8.200s

#8


    整个文件一下子加密,最好用 WPS 或别的什么,加个口令就行了。
    MOV CX,FFFF
    XOR AX,AX
    PUSH AX
    POP DS
    MOV SI,0
ENC:
    MOV AL, CS:SI
    XOR AL, 0AB
    MOV CS:SI,AL
    INC SI
    LOOP ENC
    多爽!完了。(ZDG 的方法,也许应该在 DOS 下运行,还有错)

#9


使用取模算法加密最快

#10


how fasgter?

#11


可以尝试位移方法,但仍然需要每次32位的方式多次操作.一次性将整个文档加密,PC机可能是没有办法.

#12


请参考最近出版的加密算法书,会给你一些思路书名是什么记不清了我可以帮你买一本
weplus@sohu.com

#13


对文件整体加密,肯定得读一次,写一次,快慢取决于文件大小,算法只要不是太复杂,可以忽略不记。keri觉得慢,决不是算法的问题,而是文件的操作问题,如有没有使用文件缓冲区?如果使用了文件缓冲区,这文件操作方法关系不大,如果没有使用文件缓冲区,则一次读写一个字符和一次读写一行或一块区别较大。

#14


文件加密有两种办法:分组加密和公开密钥加密,使用流密码也可以加密。
对文件加密,如果不要求加密强度,可以随便使用一个算法。
至于keri觉得慢,我想是因为一次读写一个字符(调用两次系统函数只完成一个字符的加密当然慢!),可以一次读入4k的倍数的文件内容。mach的算法应该比任何稍微强的加密算法都快。

#15


des, idea, bf in openssl.org.

#16


des太慢。对加密强度要求不要的话并不适合。
我个人推荐你试试TEA,RC算法,BLOWFISH算法也比较快。
源码我可以提供。
其实加密原理都是移位和异或,关键是最终能否还原。

#17


RC4算法的速度和加密强度比较适中,实现起来也方便。

#18


犯不着这么追求速度吧!
还是去干点正事比较好。

相关文章