亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nvo_md5.sru

?? 在powerbuilder 7.0中實現md5的算法
?? SRU
?? 第 1 頁 / 共 3 頁
字號:
$PBExportHeader$nvo_md5.sru
$PBExportComments$nvo_md5對象,提供字符加密功能。
forward
global type nvo_md5 from nonvisualobject
end type
end forward

global type nvo_md5 from nonvisualobject autoinstantiate
end type

type prototypes
//ansi轉為unicode
function int MultiByteToWideChar(uint codepage, ulong dwflags, ref string lpmultibytestr, int cchmultibyte, ref long lpwidecharstr, int cchwidechar) library "kernel32.dll"
end prototypes

type variables
nvo_numerical inv_numerical//數字服務對象
end variables

forward prototypes
private function long of_addunsigned (readonly long al_x, readonly long al_y)
private function long of_converttowordarray (readonly string as_origmess, ref long al_word[])
public function string of_encrypt (readonly string as_origmess)
private function long of_f (readonly long al_x, readonly long al_y, readonly long al_z)
private function long of_ff (readonly long al_a, readonly long al_b, readonly long al_c, readonly long al_d, readonly long al_x, readonly long al_s, readonly long al_ac)
private function long of_g (readonly long al_x, readonly long al_y, readonly long al_z)
private function long of_getunicode (string as_char)
private function long of_gg (readonly long al_a, readonly long al_b, readonly long al_c, readonly long al_d, readonly long al_x, readonly long al_s, readonly long al_ac)
private function long of_h (readonly long al_x, readonly long al_y, readonly long al_z)
private function long of_hh (readonly long al_a, readonly long al_b, readonly long al_c, readonly long al_d, readonly long al_x, readonly long al_s, readonly long al_ac)
private function long of_i (readonly long al_x, readonly long al_y, readonly long al_z)
private function long of_ii (readonly long al_a, readonly long al_b, readonly long al_c, readonly long al_d, readonly long al_x, readonly long al_s, readonly long al_ac)
private function long of_lshift (readonly long al_oldvalue, readonly long al_shiftbits)
private function long of_m2power (readonly long al_oldvalue)
private function long of_monbits (readonly long al_oldvalue)
private function long of_rotateleft (readonly long al_oldvalue, readonly long al_shiftbits)
private function long of_rshift (readonly long al_oldvalue, readonly long al_shiftbits)
private function string of_wordtohex (readonly long al_value)
end prototypes

private function long of_addunsigned (readonly long al_x, readonly long al_y);
/*******************************************************************
函數名稱:of_addunsigned()
參數:     al_x long 值1
                      al_y long 值2
返回值: long 運算結果
功能描述:md5加密時的運算之一
*******************************************************************/
return al_x + al_y
end function

private function long of_converttowordarray (readonly string as_origmess, ref long al_word[]);
/*******************************************************************
函數名稱:of_converttowordarray()
參數:     as_origmess string 原文本
                      al_word[] ref long 轉換后的數組
返回值: long 是否成功(1/-1)
功能描述:將字符裝入數組并進行位填充
*******************************************************************/
long ll_lenofmess,ll_wordarraylen,ll_posofword,ll_posofmess,ll_countofword
long i,ll_temp,ll_word_list[],ll_word_unicode
string ls_return,ls_char
 
ll_lenofmess = lenw(as_origmess)
ll_wordarraylen = (integer((ll_lenofmess + 8) / 64) + 1) * 16
ll_countofword = 0
for i = 1 to ll_wordarraylen
       ll_word_list[i] = 0
next
 
ll_posofmess = 0
ll_posofword = 0
ll_countofword = 0
do while ll_posofmess < ll_lenofmess
       ls_char = midw(as_origmess,ll_posofmess + 1,1)       
       ll_countofword = integer(ll_posofmess / 4)
       ll_posofword = mod(ll_posofmess,4)
       if ll_countofword + 1 > 0 and ll_countofword + 1 <= upperbound(ll_word_list) then
              ll_word_unicode = this.of_getunicode(ls_char)//取字符的unicode值
              ll_word_list[ll_countofword + 1] = inv_numerical.of_bitwiseor(ll_word_list[ll_countofword + 1],this.of_lshift(ll_word_unicode,ll_posofword * 8))
       end if
       ll_posofmess ++
loop
 
ll_countofword = integer(ll_posofmess / 4)
ll_posofword = mod(ll_posofmess,4)
if ll_countofword + 1 > 0 and ll_countofword + 1 <= upperbound(ll_word_list) then
       ll_word_list[ll_countofword + 1] = inv_numerical.of_bitwiseor(ll_word_list[ll_countofword + 1],this.of_lshift(128,ll_posofword * 8))
end if
 
if ll_wordarraylen - 2 + 1 > 0 and ll_wordarraylen - 2 + 1 <= upperbound(ll_word_list) then
       ll_word_list[ll_wordarraylen - 2 + 1] = inv_numerical.of_bitwiseor(ll_word_list[ll_wordarraylen - 2 + 1],this.of_lshift(ll_lenofmess,3))
end if
 
if ll_wordarraylen - 1 + 1 > 0 and ll_wordarraylen - 1 + 1 <= upperbound(ll_word_list) then
       ll_word_list[ll_wordarraylen - 1 + 1] = inv_numerical.of_bitwiseor(ll_word_list[ll_wordarraylen - 1 + 1],this.of_rshift(ll_lenofmess,29))
end if
 
al_word = ll_word_list
 
return 1
end function

public function string of_encrypt (readonly string as_origmess);
/*******************************************************************
函數名稱:of_encrypt()
參數:     as_origmess string 原文本
返回值: string 加密后文本
功能描述:md5加密
*******************************************************************/
long ll_word_list[16]={7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21}
long ll_a,ll_b,ll_c,ll_d,ll_aa,ll_bb,ll_cc,ll_dd,ll_temp[]
string ls_return=''
long ll_wordarraycount,ll_wordarraylen
 
//初始化核心變量
ll_a = 1732584193
ll_b = -271733879
ll_c = -1732584194
ll_d = 271733878
 
//將字符裝入數組并進行位填充
this.of_converttowordarray(as_origmess,ll_temp)
ll_wordarraycount = 0
ll_wordarraylen = (long((lenw(as_origmess) + 8) / 64) + 1) * 16
 
do while ll_wordarraycount < ll_wordarraylen
       ll_aa = ll_a
       ll_bb = ll_b
       ll_cc = ll_c
       ll_dd = ll_d     
 
       ll_wordarraycount = ll_wordarraycount + 1
       //第一輪運算
       if ll_wordarraycount + 0 > 0 and ll_wordarraycount + 0 <= upperbound(ll_temp) then
              ll_a = this.of_ff(ll_a,ll_b,ll_c,ll_d,ll_temp[ll_wordarraycount + 0],ll_word_list[1],-680876936)
       end if      
       if ll_wordarraycount + 1 > 0 and ll_wordarraycount + 1 <= upperbound(ll_temp) then
              ll_d = this.of_ff(ll_d,ll_a,ll_b,ll_c,ll_temp[ll_wordarraycount + 1],ll_word_list[2],-389564586)
       end if
       if ll_wordarraycount + 2 > 0 and ll_wordarraycount + 2 <= upperbound(ll_temp) then
              ll_c = this.of_ff(ll_c,ll_d,ll_a,ll_b,ll_temp[ll_wordarraycount + 2],ll_word_list[3],606105819)
       end if
       if ll_wordarraycount + 3 > 0 and ll_wordarraycount + 3 <= upperbound(ll_temp) then
              ll_b = this.of_ff(ll_b,ll_c,ll_d,ll_a,ll_temp[ll_wordarraycount + 3],ll_word_list[4],-1044525330)
       end if
       if ll_wordarraycount + 4 > 0 and ll_wordarraycount + 4 <= upperbound(ll_temp) then
              ll_a = this.of_ff(ll_a,ll_b,ll_c,ll_d,ll_temp[ll_wordarraycount + 4],ll_word_list[1],-176418897)
       end if
       if ll_wordarraycount + 5 > 0 and ll_wordarraycount + 5 <= upperbound(ll_temp) then
              ll_d = this.of_ff(ll_d,ll_a,ll_b,ll_c,ll_temp[ll_wordarraycount + 5],ll_word_list[2],1200080426)
       end if
       if ll_wordarraycount + 6 > 0 and ll_wordarraycount + 6 <= upperbound(ll_temp) then
              ll_c = this.of_ff(ll_c,ll_d,ll_a,ll_b,ll_temp[ll_wordarraycount + 6],ll_word_list[3],-1473231341)
       end if
       if ll_wordarraycount + 7 > 0 and ll_wordarraycount + 7 <= upperbound(ll_temp) then
              ll_b = this.of_ff(ll_b,ll_c,ll_d,ll_a,ll_temp[ll_wordarraycount + 7],ll_word_list[4],-45705983)
       end if
       if ll_wordarraycount + 8 > 0 and ll_wordarraycount + 8 <= upperbound(ll_temp) then
              ll_a = this.of_ff(ll_a,ll_b,ll_c,ll_d,ll_temp[ll_wordarraycount + 8],ll_word_list[1],1770035416)
       end if
       if ll_wordarraycount + 9 > 0 and ll_wordarraycount + 9 <= upperbound(ll_temp) then
              ll_d = this.of_ff(ll_d,ll_a,ll_b,ll_c,ll_temp[ll_wordarraycount + 9],ll_word_list[2],-1958414417)
       end if
       if ll_wordarraycount + 10 > 0 and ll_wordarraycount + 10 <= upperbound(ll_temp) then
              ll_c = this.of_ff(ll_c,ll_d,ll_a,ll_b,ll_temp[ll_wordarraycount + 10],ll_word_list[3],-42063)
       end if
       if ll_wordarraycount + 11 > 0 and ll_wordarraycount + 11 <= upperbound(ll_temp) then
              ll_b = this.of_ff(ll_b,ll_c,ll_d,ll_a,ll_temp[ll_wordarraycount + 11],ll_word_list[4],-1990404162)
       end if
       if ll_wordarraycount + 12 > 0 and ll_wordarraycount + 12 <= upperbound(ll_temp) then
              ll_a = this.of_ff(ll_a,ll_b,ll_c,ll_d,ll_temp[ll_wordarraycount + 12],ll_word_list[1],1804603682)
       end if
       if ll_wordarraycount + 13 > 0 and ll_wordarraycount + 13 <= upperbound(ll_temp) then
              ll_d = this.of_ff(ll_d,ll_a,ll_b,ll_c,ll_temp[ll_wordarraycount + 13],ll_word_list[2],-40341101)
       end if
       if ll_wordarraycount + 14 > 0 and ll_wordarraycount + 14 <= upperbound(ll_temp) then
              ll_c = this.of_ff(ll_c,ll_d,ll_a,ll_b,ll_temp[ll_wordarraycount + 14],ll_word_list[3],-1502002290)
       end if
       if ll_wordarraycount + 15 > 0 and ll_wordarraycount + 15 <= upperbound(ll_temp) then
              ll_b = this.of_ff(ll_b,ll_c,ll_d,ll_a,ll_temp[ll_wordarraycount + 15],ll_word_list[4],1236535329)
       end if
       //第二輪運算
       if ll_wordarraycount + 1 > 0 and ll_wordarraycount + 1 <= upperbound(ll_temp) then
              ll_a = this.of_gg(ll_a,ll_b,ll_c,ll_d,ll_temp[ll_wordarraycount + 1],ll_word_list[5],-165796510)
       end if
       if ll_wordarraycount + 6 > 0 and ll_wordarraycount + 6 <= upperbound(ll_temp) then
              ll_d = this.of_gg(ll_d,ll_a,ll_b,ll_c,ll_temp[ll_wordarraycount + 6],ll_word_list[6],-1069501632)
       end if
       if ll_wordarraycount + 11 > 0 and ll_wordarraycount + 11 <= upperbound(ll_temp) then
              ll_c = this.of_gg(ll_c,ll_d,ll_a,ll_b,ll_temp[ll_wordarraycount + 11],ll_word_list[7],643717713)
       end if
       if ll_wordarraycount + 0 > 0 and ll_wordarraycount + 0 <= upperbound(ll_temp) then
              ll_b = this.of_gg(ll_b,ll_c,ll_d,ll_a,ll_temp[ll_wordarraycount + 0],ll_word_list[8],-373897302)
       end if
       if ll_wordarraycount + 5 > 0 and ll_wordarraycount + 5 <= upperbound(ll_temp) then
              ll_a = this.of_gg(ll_a,ll_b,ll_c,ll_d,ll_temp[ll_wordarraycount + 5],ll_word_list[5],-701558691)
       end if
       if ll_wordarraycount + 10 > 0 and ll_wordarraycount + 10 <= upperbound(ll_temp) then
              ll_d = this.of_gg(ll_d,ll_a,ll_b,ll_c,ll_temp[ll_wordarraycount + 10],ll_word_list[6],38016083)
       end if
       if ll_wordarraycount + 15 > 0 and ll_wordarraycount + 15 <= upperbound(ll_temp) then
              ll_c = this.of_gg(ll_c,ll_d,ll_a,ll_b,ll_temp[ll_wordarraycount + 15],ll_word_list[7],-660478335)
       end if
       if ll_wordarraycount + 4 > 0 and ll_wordarraycount + 4 <= upperbound(ll_temp) then
              ll_b = this.of_gg(ll_b,ll_c,ll_d,ll_a,ll_temp[ll_wordarraycount + 4],ll_word_list[8],-405537848)
       end if
       if ll_wordarraycount + 9 > 0 and ll_wordarraycount + 9 <= upperbound(ll_temp) then
              ll_a = this.of_gg(ll_a,ll_b,ll_c,ll_d,ll_temp[ll_wordarraycount + 9],ll_word_list[5],568446438)
       end if
       if ll_wordarraycount + 14 > 0 and ll_wordarraycount + 14 <= upperbound(ll_temp) then
              ll_d = this.of_gg(ll_d,ll_a,ll_b,ll_c,ll_temp[ll_wordarraycount + 14],ll_word_list[6],-1019803690)
       end if
       if ll_wordarraycount + 3 > 0 and ll_wordarraycount + 3 <= upperbound(ll_temp) then
              ll_c = this.of_gg(ll_c,ll_d,ll_a,ll_b,ll_temp[ll_wordarraycount + 3],ll_word_list[7],-187363961)
       end if
       if ll_wordarraycount + 8 > 0 and ll_wordarraycount + 8 <= upperbound(ll_temp) then
              ll_b = this.of_gg(ll_b,ll_c,ll_d,ll_a,ll_temp[ll_wordarraycount + 8],ll_word_list[8],1163531501)
       end if
       if ll_wordarraycount + 13 > 0 and ll_wordarraycount + 13 <= upperbound(ll_temp) then
              ll_a = this.of_gg(ll_a,ll_b,ll_c,ll_d,ll_temp[ll_wordarraycount + 13],ll_word_list[5],-1444681467)
       end if
       if ll_wordarraycount + 2 > 0 and ll_wordarraycount + 2 <= upperbound(ll_temp) then
              ll_d = this.of_gg(ll_d,ll_a,ll_b,ll_c,ll_temp[ll_wordarraycount + 2],ll_word_list[6],-51403784)
       end if
       if ll_wordarraycount + 7 > 0 and ll_wordarraycount + 7 <= upperbound(ll_temp) then
              ll_c = this.of_gg(ll_c,ll_d,ll_a,ll_b,ll_temp[ll_wordarraycount + 7],ll_word_list[7],1735328473)
       end if
       if ll_wordarraycount + 12 > 0 and ll_wordarraycount + 12 <= upperbound(ll_temp) then
              ll_b = this.of_gg(ll_b,ll_c,ll_d,ll_a,ll_temp[ll_wordarraycount + 12],ll_word_list[8],-1926607734)
       end if
       //第三輪運算
       if ll_wordarraycount + 5 > 0 and ll_wordarraycount + 5 <= upperbound(ll_temp) then
              ll_a = this.of_hh(ll_a,ll_b,ll_c,ll_d,ll_temp[ll_wordarraycount + 5],ll_word_list[9],-378558)
       end if

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电视剧免费观看| 国产欧美精品一区二区色综合朱莉| 久久精品国产精品亚洲精品 | 中文字幕五月欧美| 日韩一区二区三区四区| 91在线观看美女| 久久99国产精品尤物| 亚洲影视在线观看| 中文字幕中文乱码欧美一区二区| 91精品国产色综合久久ai换脸| 99riav一区二区三区| 精品一区二区三区欧美| 性做久久久久久久免费看| 国产精品三级视频| 2021国产精品久久精品| 欧美日韩dvd在线观看| 99v久久综合狠狠综合久久| 国产一区在线观看视频| 奇米影视在线99精品| 亚洲国产视频在线| 亚洲乱码一区二区三区在线观看| 久久久美女艺术照精彩视频福利播放| 欧美日韩www| 欧美日韩在线亚洲一区蜜芽| 99精品视频在线播放观看| 国产91精品免费| 国产真实乱子伦精品视频| 视频一区视频二区在线观看| 亚洲午夜激情网页| 一区二区三区四区国产精品| 国产精品网曝门| 国产欧美日韩三区| 久久婷婷成人综合色| 欧美tk丨vk视频| 日韩一级二级三级| 日韩视频一区二区三区在线播放| 欧美日韩一区二区三区四区五区| 在线视频综合导航| 91一区二区在线观看| 99re热这里只有精品免费视频 | 欧美日韩二区三区| 欧美午夜精品久久久久久孕妇| 日本高清成人免费播放| 99在线精品视频| 91在线视频免费观看| 99久久精品国产精品久久| 成人av网站在线观看免费| 成人综合婷婷国产精品久久| 成人不卡免费av| 在线视频一区二区免费| 欧美老年两性高潮| 欧美一区二区性放荡片| 欧美tickle裸体挠脚心vk| 2021国产精品久久精品| 欧美—级在线免费片| 中文字幕 久热精品 视频在线| 中文字幕第一区| 国产精品成人一区二区三区夜夜夜 | 久久综合五月天婷婷伊人| 久久精品亚洲国产奇米99| 亚洲国产精品av| 亚洲精品大片www| 丝袜美腿亚洲色图| 老司机精品视频线观看86| 国产一区二区三区免费观看| 成人av在线一区二区三区| 在线免费不卡电影| 欧美一卡二卡在线| 久久久精品综合| 综合色中文字幕| 五月天丁香久久| 国产一区二区在线电影| 成人黄动漫网站免费app| 欧美性生活一区| 日韩欧美高清在线| 国产精品免费丝袜| 亚洲va中文字幕| 国产成人aaaa| 91官网在线免费观看| 日韩欧美视频一区| 中文字幕高清一区| 视频一区中文字幕国产| 成人一区二区视频| 777久久久精品| 国产蜜臀av在线一区二区三区| 亚洲黄色免费网站| 久久99国产精品尤物| 色诱视频网站一区| 欧美成人精品二区三区99精品| 椎名由奈av一区二区三区| 日韩成人精品在线| 99精品视频一区二区三区| 欧美一级二级三级乱码| 中文字幕亚洲一区二区av在线| 奇米精品一区二区三区四区 | 午夜a成v人精品| 成人精品视频.| 日韩一区二区麻豆国产| 亚洲女同一区二区| 国产成人精品亚洲日本在线桃色| 欧美精品一级二级三级| 亚洲免费观看高清完整版在线 | 青青草国产精品97视觉盛宴| 成人精品一区二区三区四区 | 看电影不卡的网站| 99久久99久久免费精品蜜臀| 精品国偷自产国产一区| 亚洲图片欧美综合| 成人污污视频在线观看| 精品剧情在线观看| 亚洲超丰满肉感bbw| 色久综合一二码| 国产精品久久久久久久久晋中 | 国产色爱av资源综合区| 美女视频黄久久| 7777精品伊人久久久大香线蕉的| 国产精品成人免费精品自在线观看| 激情小说欧美图片| 91精品在线免费| 婷婷成人激情在线网| 欧美影院精品一区| 亚洲综合自拍偷拍| 97久久精品人人做人人爽| 国产精品久久久久久久久快鸭| 国产成人精品三级| 国产欧美日韩在线视频| 国产永久精品大片wwwapp | 亚洲国产综合人成综合网站| 波多野结衣中文一区| 国产精品对白交换视频| 成人av网站大全| 中文字幕一区视频| 91蜜桃婷婷狠狠久久综合9色| 国产精品情趣视频| 成人av网在线| 日韩伦理电影网| 91久久精品午夜一区二区| 亚洲色图都市小说| 在线亚洲一区观看| 亚洲成人精品影院| 欧美精品日韩精品| 蜜桃91丨九色丨蝌蚪91桃色| 日韩欧美高清dvd碟片| 精品一区二区三区在线视频| 久久精品水蜜桃av综合天堂| 福利一区福利二区| 1024成人网色www| 欧洲色大大久久| 亚洲va国产天堂va久久en| 91精品在线麻豆| 国产曰批免费观看久久久| 中文一区二区在线观看| 91美女在线看| 亚洲1区2区3区4区| 精品国产一区二区三区久久久蜜月 | 国产激情一区二区三区四区| 国产日韩av一区| 99久久精品国产麻豆演员表| 亚洲自拍偷拍av| 日韩视频一区二区三区在线播放 | 日韩免费观看2025年上映的电影 | 日韩高清在线一区| 久久女同精品一区二区| www.66久久| 亚洲成年人网站在线观看| 精品剧情v国产在线观看在线| 国产成a人无v码亚洲福利| 亚洲欧美一区二区三区国产精品| 欧美精品1区2区| 国产精品99久久久久久宅男| 亚洲靠逼com| 精品美女一区二区三区| 99久久久久久99| 日本成人在线电影网| 日本一区二区三区四区在线视频| 欧美中文一区二区三区| 黄一区二区三区| 亚洲天堂2016| 精品sm捆绑视频| 色乱码一区二区三区88| 久久成人羞羞网站| 亚洲精品成人天堂一二三| 亚洲精品在线免费观看视频| 91在线观看污| 国产一区二区三区在线观看免费视频| 综合亚洲深深色噜噜狠狠网站| 欧美一区二区网站| 91视视频在线观看入口直接观看www | 欧美日韩一区二区三区四区五区| 国产成人综合亚洲网站| 亚洲成年人影院| 成人欧美一区二区三区小说| 精品少妇一区二区三区日产乱码| 蜜桃视频在线观看一区二区| 26uuu欧美| 欧美日韩三级一区| 国产·精品毛片| 久久精品国产99| 亚洲国产视频在线| 亚洲欧洲一区二区三区|