打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
PB加密解密方法
global type f_encrypt from function_object
end type

forward prototypes
global function string f_encrypt (string st_text, string st_key)
end prototypes

global function string f_encrypt (string st_text, string st_key);//**************************************************************
// Function:     uf_pub_encrypt()                *
// Descirption:  用给定的密钥加密字符串         *
// Parameters:   string   st_text   待加密字串      *
//               string   st_key    密钥        *
//                                               *
// Return:     <加密后字串>                        *
//                                               *
// Author:     rain                           *
// Date:       2002.11.05                        *
//**************************************************************


string st_textencrypt
long lg_textlen,lg_keylen,lg_key
long lg_loop

IF isnull(st_key) OR isnull(st_text) THEN RETURN ''

lg_keylen = len(st_key)
FOR lg_loop = 1 TO lg_keylen
lg_key = lg_key + (asc(mid(st_key,lg_loop,1)) * lg_loop)
IF lg_key > 255 THEN lg_key = lg_key - 255
NEXT

DO While lg_key > 255
lg_key = lg_key - 255
LOOP

LONG lg_cbyte

lg_textlen = Len(st_text)

FOR lg_loop = 1 TO lg_textlen
lg_cbyte = asc(mid(st_text,lg_loop,1)) + lg_key
IF lg_cbyte > 255 THEN lg_cbyte = lg_cbyte - 255
st_textencrypt = st_textencrypt + char(lg_cbyte)
lg_key = lg_key + lg_cbyte
IF lg_key > 255 THEN lg_key = lg_key - 255
NEXT

RETURN st_textencrypt
end function


//解密
global type f_decrypt from function_object
end type

forward prototypes
global function string f_decrypt (string st_text, string st_key)
end prototypes

global function string f_decrypt (string st_text, string st_key);//**************************************************************
// Function:     uf_pub_decrypt()                *
// Descirption:  用给定的密钥解密字符串,与uf_pub_encrypt相对 *
// Parameters:   string   st_text   待解密字串      *
//               string   st_key    密钥        *
//                                               *
// Return:     <解密后字串>                        *
//                                               *
// Author:     rain                           *
// Date:       2002.11.05                        *
//**************************************************************

string st_textdecrypt
IF isnull(st_key) OR isnull(st_text) THEN RETURN ''
long lg_textlen,lg_keylen,lg_key
long lg_loop

lg_keylen = len(st_key)

FOR lg_loop = 1 TO lg_keylen
lg_key = lg_key + (asc(mid(st_key,lg_loop,1)) * lg_loop)
IF lg_key>255 THEN lg_key = lg_key - 255
NEXT

DO While lg_key>255
lg_key = lg_key - 255
LOOP

lg_textlen = len(st_text)

long lg_cbyte
FOR lg_loop = 1 TO lg_textlen
lg_cbyte = asc(mid(st_text,lg_loop,1)) - lg_key
IF lg_cbyte<0 THEN lg_cbyte = lg_cbyte + 255
st_textdecrypt = st_textdecrypt + char(lg_cbyte)
lg_key = lg_key + asc(mid(st_text,lg_loop,1))
IF lg_key > 255 THEN lg_key = lg_key - 255
NEXT

RETURN st_textdecrypt
end function




本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
oracle数据加密
AES加密代码 【重要】
懂了!国际算法体系对称算法DES原理
iOS / iPhone / iPad 用于客户端和服务端的数据接口加密和解密代码 AES加密 CBC模式
密码学应用(DES,AES, MD5, SHA1, RSA, Salt, Pkcs8)
delphi 字符串加密收集
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服