① 任嘉倫張鈞甯主演的《不說再見》,你覺著好看嗎對此作何評價
任嘉倫張鈞甯主演的《不說再見》好看,超出預期的精彩。不管是導演的運鏡,編劇的邏輯、每個演員的演繹,偶爾加入的各種或搞笑或緊張或沉痛的背景音樂、以及各種服化道細節都很精彩。
後面還故意在無意間提醒穆青倉庫附近的位置很可疑,提醒穆青說有冷藏車天天進進出出方便找到冷鏈倉庫,找到快奄奄一息的卧底警察趙楠,最後還用詩集來提醒穆青炸彈的密碼,解救了趙楠。這一切都體現了她身為警察的聰明果敢以及作為卧底的大無畏精神,哪裡差了?
② 不說再見分集介紹 不說再見簡介
1、第1集:三年前由於刑警劉遠文的情報失誤,使得其未婚妻、新晉刑警榮鈺命喪毒販伙拼的火場。緝毒大隊刑警榮耀由於妹妹之死與好兄弟劉遠文反目成仇,劉遠文心灰意冷離開警局不知去向,而榮耀則為了報仇,經過三年的不斷努力,成為了雲港市禁毒大隊隊長。
2、第2集:穆青駕車途中被偶遇的時尚女孩攔路截住,原來她的包剛剛被摩托飛賊搶走,懇求穆青幫忙追回,未等穆青答應,女孩徑自拉開車門坐上穆青的車。
3、第3集:書房中,歐可欣湧入父親懷中,訴說著對父親的思念,一派父女情深的畫面,歐可欣向父親提起自己的救命恩人穆青,希望父親可以見他一面。歐先生不予理會,並對歐可欣私自歸國十分不滿,當即要讓人送她回法國,歐可欣不滿,二人爭吵,歐可欣流露出對父親的怨恨,原來三年前歐可欣的母親死去,父親都不曾露面,歐可欣記恨在心,過往的歲月重提,二人矛盾重重,不歡而散。
4、第4集:穆青將此事秘密通報劉寒山,劉寒山指出要盡可能保住嫌疑人蠍子的命,令其接受法律制裁。然而,黎若笙成功把蠍子哥擒獲後,卻兇殘的將其殺害,穆青沒能及時阻止,穆青為自己的失職深感愧疚。
5、第5集:榮耀到任當天立刻展開了對新型毒品的任務部署。起源於南美的新型毒品G3307,有著極強的殺傷力,正向著全世界大范圍傳播開來,據截獲的最新消息其配方用有者「幽靈」,以已經和國內犯罪集團K集團的頭目有所聯系,並借外籍毒販吉米之手,今晚將在雲港某夜場進行新毒品的交易,為了解新型毒品的來龍去脈,從源頭上毀掉新型毒品,榮耀下達命令,果斷出擊抓捕吉米。
6、第6集:小佛爺暗中派人跟蹤穆青,尋找下手的機會。穆青陪伴歐可欣挑選服裝設計工作室,未發現自己以被跟蹤。歐可欣俏皮地要求穆青陪自己吃街邊小攤,歐可欣舉手投足之間,像極穆青死去的未婚妻,穆青再一次產生錯覺,他望著歐可欣,深陷入回憶中,神色大失,歐可欣調皮詢問穆青,他該不會是愛上自己了吧。
7、第7集:穆青深知大坤已然對自己動了殺心,必須盡快摸清他的窩點,以備適時鏟除,但如何才能深入摸清,穆青一時犯了難,他想到了利用歐可欣,向歐可欣詢問大坤在雲港的產業,歐可欣表示自己對大坤的事情並不知情,但自己若想知道,也不是什麼難事。
8、第8集:特警部隊偷偷潛入到小區內部,暗中遣散小區內住戶,84小組獨院秘密部署在小區周圍,通訊員監控無人機密切觀察一切情況,李一萌作為阻手架長槍場外射擊,一場激烈的對戰展開。
9、第9集:榮耀安排李一萌和善於偽裝的趙然假扮情侶前往一處修車店調查取證,果然該汽車改裝店為一處毒品交易處。趙然用暗語接觸上店老闆,並成功引出大坤露面。趙然化成超跑俱樂部的趙老闆與大坤碰面,但大坤狡詐多疑並未上鉤,李一萌卻趁此時機將一顆監聽定位器安置在了大坤車上。
10、第10集:穆青開車送歐可欣離開後,隨黎若笙一起來到大坤哥的住處,大坤明面上給兩人賠不是,邀請兩人一起做生意,暗中卻將穆青、黎若笙約定好交易的時間地點的詳細信息透漏給警方,意在藉助警方力量除掉二人。
11、第11集:穆青講出自己最大的心結在於歐可欣。劉寒山點播穆青,讓他不要忘記自己接觸歐先生的主要任務,歐可欣作為歐先生的獨生女,兩人難免會接觸,還望穆青自己掌握好分寸。警局對大坤藏匿毒資與毒品的車行進行清繳,從修車行中繳獲眾多毒品,大坤看著電視中的報道氣憤不已。大坤本想藉助警方除掉穆青和黎若笙,沒想最後卻端掉了自己的老窩,大坤的計謀泡湯,十分懊惱。
12、第12集:大坤被抓的事情引起洋蔥頭、鐵觀音、眼鏡三人的恐慌,洋蔥頭絕不相信大坤是內鬼,眼鏡指出歐先生心意已決,大坤怕是難以脫身。洋蔥頭仗義要為大坤伸冤鋤奸。
13、第13集:眼鏡、鐵觀音和洋蔥頭因為大坤地盤流落他人之手懊惱不已,產生分歧。為了自保,深陷牢籠的大坤提出要用趙楠的命與警方交換自由。84小隊驚喜發現,原來同志趙楠還活著,但很快榮耀從大坤身上沾上的營養液這一細節上,判斷出趙楠同志生命垂危,立刻展開對趙楠的救援。穆青亦接到榮耀發來的情報,展開對趙楠的搜索。
14、第14集:穆青了解情況後,分析小威是解救趙楠的突破口,為博取小威的信任,穆青找到榮耀的配合下,救了小威性命。小威感謝救命恩人,認穆青做大哥,穆青通過小威找到趙楠被關押的地點。趙楠被關押子啊一輛集裝車內,每日進進出出冰庫,躲開眾人耳目。此時,趙楠生命垂危,穆青看著戰友諢昏迷不醒的樣子心中一陣痛心,更令穆青痛心的是,趙楠還身上捆綁的定時炸彈。穆青將趙楠的消息發回警局,劉寒山等人再次審訊大坤,狡詐的大坤不肯說出密碼,坐等炸彈爆破,警隊人員尋找著破解炸彈的密碼。眼鏡和洋蔥頭因看不慣黎若笙火速上位,達成聯盟,眼鏡暗中派人密切跟蹤穆青。與此同時,劉寒山接到上級命令,破除K組織的代號「雲雀」的最高級卧底已經啟動,劉寒山找到穆青,將最高級別卧底「雲雀」啟動的事情告知穆青,他將與「雲雀」的碰頭,共同搗毀K組織販毒集團,打掉跨國毒梟幽靈。
15、第15集:榮耀將趙楠安全送回警隊,並交代李一萌好好照顧好自己的師傅趙楠,李一萌對榮耀萌生好感,主動為榮耀做愛心便當,兩人關系好轉。而穆青解救警察趙楠的行為,引起了小威的懷疑,他向眼鏡匯報穆青的情況,面對眼鏡的懷疑,穆青隨機應變僥幸矇混過關。雖然此次穆青得以矇混過關,而在K組織集團內,眼鏡和洋蔥頭、鐵觀音卻對穆青虎視眈眈,三人結盟欲斬掉穆青。
16、《不說再見》是由殷飛、王磊執導,任嘉倫、張鈞甯領銜主演,寇世勛、張晞臨、劉恩佑、熊乃瑾、宣言等主演的都市緝毒劇。
17、該劇講述了緝毒警穆青以卧底身份深入販毒集團內部,陰差陽錯之下,與販毒集團頭目之女歐可欣產生情感糾葛,並與其聯手阻止新型毒品流入中國的故事。
③ 不說再見趙楠結局
不說再見趙楠結局在穆青的幫助下被警方解救了。在大坤的冷鏈倉庫內,警察們還在搜索趙楠的線索,李一萌觀察到有三個保安,可桌上卻有四份飯,這很不正常,但倉庫保安卻出言不遜不服管教,他反誣陷警察暴力執法,並且拿起手機錄視頻,但被榮耀阻止了。
不說再見趙楠角色故事
趙楠一直被大坤藏在冷鏈車上,且已經被折磨的不成人樣,大坤還在趙楠身上綁了炸彈,小威表示自己怕炸彈隨時爆炸,所以才讓車子每天早出晚歸。
穆青將自己掌握的消息匯報給劉局,他請劉局先等他的信息,如果不行只能強攻。劉局認為強攻是最不好的辦法,因為這將會暴露穆青的身份。
榮耀給雲雀打電話請求幫助,原來雲雀正是歐可欣,之後,榮耀和李一萌正在逼問大坤炸彈的密碼,但是大坤軟硬不吃,就是不肯說出密碼,李一萌被氣得大失方寸。
④ 有關畢業的歌曲有那些
1、歌曲:畢業季
演唱:賀敬軒
詞:林華勇
曲:勝嶼
編曲:衣睿
歌詞:
曾經總以為畢業遙遙無期,不知不覺我們就各奔東西
分手的夏季,好捨不得你
可是昨天已回不去,懷念與你同窗三年的教室
懷念午後和你散步校園里,我同桌的你
能否別離去,我早習慣有你
時間可不可以永遠停在這個畢業季,別讓歲月帶走我們青春的記憶
每一次考試,你為我打氣
就算落榜也有你陪我復習,時間可不可以永遠停在這個夏天裡
害怕明天過後我就再見不到你,當我失落時
你給我勇氣,在我的世界里你最了不起
最了不起,曾經總以為畢業遙遙無期
不知不覺我們就各奔東西,分手的夏季
好捨不得你,可是昨天已回不去
懷念與你同窗三年的教室,懷念午後和你散步校園里
我同桌的你,能否別離去
我早習慣有你,時間可不可以永遠停在這個畢業季
別讓歲月帶走我們青春的記憶,每一次考試
你為我打氣,就算落榜也有你陪我復習
時間可不可以永遠停在這個夏天裡,害怕明天過後我就再見不到你
當我失落時,你給我勇氣
在我的世界裡你最了不起,時間可不可以永遠停在這個畢業季
別讓歲月帶走我們青春的記憶,每一次考試
你為我打氣,就算落榜也有你陪我復習
時間可不可以永遠停在這個夏天裡,害怕明天過後我就再見不到你
當我失落時,你給我勇氣
在我的世界裡你最了不起,最了不起
2、歌名:我們的畢業季
作詞:莫智欽
作曲:莫智欽
演唱:莫智欽
歌詞:
還記得這么多年,書桌上刻的印記
不知不覺已變成,我們青春回憶
只是印象中一天一天的過去,但是未來也在慢慢的堆積
我們就好像那,飄在風中的詩句
翱翔在藍天,散落在校園青草地
可能在奮斗中發現漸漸沒有力氣,但是還有我們彼此的鼓勵
慢一點慢一點,我還在谷底
等等我你們不要太著急,快一點快一點
我要追上去,以後的路我們一起
我們的故事就像一望無際大海,會唱的歌謠我們都裝滿一口袋
開心難過都哼著搖擺,這個世界有了我們多了些色彩
歌聲傳遍每個角落掃掉了陰霾,你的掌聲留給我們唱得更開懷
這是我們專屬的舞台,還記得這么多年
書桌上刻的印記,不知不覺已變成
我們青春回憶,只是印象中一天一天的過去
但是未來也在慢慢的堆積,我們就好像那
飄在風中的詩句,翱翔在藍天
散落在校園青草地,可能在奮斗中發現漸漸沒有力氣
但是還有我們彼此的鼓勵,慢一點慢一點
我還在谷底,等等我你們不要太著急
快一點快一點,我要追上去
以後的路我們一起,你的聲音在我腦海久久沒散開
我們的故事就像一望無際大海,會唱的歌謠我們都裝滿一口袋
開心難過都哼著搖擺,這個世界有了我們多了些色彩
歌聲傳遍每個角落掃掉了陰霾,你的掌聲留給我們唱得更開懷
這是我們專屬的舞台,轉眼時光荏苒不經意間就過去
回頭發現我們都在收拾著行李,以後就要四海為家各奔著東西
歲月無情拉扯著距離,我們的終點在遠方並不在這里
留戀捨不得的話就埋藏在心底,某年的某月想起了我們的約定
是否記得我們的畢業季
3、歌曲:畢業的我們
填詞:zey
演唱:zey
其實當你煩惱,我的心,
都遭掉,其實全世界,
沒有什麼大不了,總是
為豪豪煩惱,怕學習搞不好
怕(家長會)來到,其實很明了
何必在吐槽,同學妨自擾
自在就好,總是
為班裡煩惱,錦旗拿不到
還被打水漂,總是被其他班級嘲笑後
自己才能振作去洗腦,我始終執著的相信
我的班級永遠是第一,不在同一個頻道
他卻看得到,啊~
我只要,我只要
你的笑,你的好
我想逃,我想逃
你太吵,你太鬧
其實我也明了,對的人
都很少,我在向你奔跑
想讓你看到,我只要
我只要,對我笑
對我好,我想逃
我想逃,嫌我吵
嫌我鬧,其實我也明了
對的人,那麼少
能夠讀到現在,全部都是
你功勞,總是
為國家煩惱,怕江南忘不掉
怕歌曲會難燒,總是想飛翔
找不到方向,其實所有事情
都一樣,總是
為自己煩惱,考試考不好
怕老師會嘮叨,總是被胡老師的話笑到爆
說友誼,只不過
下一秒,我始終執著的相信
我的班級永遠是第一,不在同一個頻道
他卻看得到,啊~
我只要,我只要
你的笑,你的好
我想逃,我想逃
你太吵,你太鬧
其實我也明了,對的人
都很少,我在向你奔跑
想讓你看到,我只要
我只要,對我笑
對我好,我想逃
我想逃,嫌我吵
嫌我鬧,其實我也明了
對的人,那麼少
能夠讀到現在,全部都是
你功勞,我只要
我只要,你的笑
你的好,我想逃
我想逃,嫌我吵
嫌我鬧,其實我也明了
對的人,那麼少
能夠讀到現在,全部都是
你功勞,我只要
我只要,對我笑
對我好,我想逃
我想逃,嫌我吵
嫌我鬧,其實我也明了
對的人,那麼少
能夠讀到現在,全部都是
你功勞,我只要
我只要,你的笑
你的好,我想逃
我想逃,嫌我吵
嫌我鬧,其實我也明了
對的人,那麼少
能夠讀到現在,全部都是
你功勞
4、歌曲:畢業
填詞:齊一
譜曲:齊一
編曲:夏侯哲
演唱:齊一
歌詞:
我還未離開你,卻突然想你
再一次感受你,才懂你全部長情
每一張課桌椅,是我們青春的痕跡
請將我這一生,最美的故事留在這里
這樣的夜晚,本不該有淚水
不該有說不出口的秘密,和太多的矯情
但請讓我們哭吧,讓我們醉在夢里吧
明天在迎接風雨前,請彼此珍重
當有一天,我不得不走出這里
帶著你的名字和你給我的意義,若有一天
我再次回到這里,請讓我想起
我們曾,年輕
回憶寫成了詩集,青春拍成了電影
天南地北的我們,如今要各奔東西
寫不完的日記,手牽手的情侶
請將我這一生,最真的愛留在這里
這樣的夜晚,不該被忘記
記住那堅持不住的歲月里,咬牙堅持的自己
快擦乾眼淚吧,讓我們擁抱彼此吧
為什麼離別的時候,我卻再也不敢回頭
當有一天,我不得不走出這里
帶著你的名字和你給我的意義,若有一天
我再次回到這里,請讓我想起
我們曾,年輕
當有一天,我不得不走出這里
帶著你的名字和你給我的意義,若有一天
我再次回到這里,請讓我想起
我們曾,年輕
請讓我想起,我們曾
年輕
5、歌曲:畢業歌
演唱:夏婉安
詞:劉暢
曲:劉暢
歌詞:
畢業歌,輕輕的哼著
那是我第一次看見你淚流了,我記得
左邊靠著窗,是你天真的模樣
我知道,哪怕淚哭干
你都要去遠方,我多想
就這樣,抓住你的手不放
卻沒有那麼簡單,我記得
每當受了傷,你是另一個太陽
我知道,你帶著溫暖
在門外的走廊,我多想
就這樣,每天都循環播放
三年你陪我走完,畢業歌
輕輕的唱著,那是我第一次看見你淚流了
我本來,還要取笑你的
明明想好千言萬語了,卻又跟著你一起哭了
我記得,你最後依然
帶著平時的模樣,我知道
青春在路上,一直繞著你轉
我多想,就這樣
為了你一塵不染,不願再跟你走散
畢業歌,輕輕的唱著
那是我第一次看見你淚流了,我本來
還要取笑你的,明明想好千言萬語了
卻又跟著你一起哭了,我記得
左邊靠著窗,是我們
彼此的模樣
⑤ 不說再見的詩歌
不說再見
筆名/未央公
不想說再見
面對一幕芳華 我願
背棄無限風光
未來即將懦弱為歷史
眼前的記憶成為奢侈
還有什麼可以揮霍
不忍說再見
敏文如刀淺讀即是深刻
生若無際黑夜
那柄北斗可是你的燦爛
夜因星的咬噬而凄美
我因你的知性而邪惡
不舍說再見
唯無語最無敵
愛情追尾
傷害是變異的幸福
就算沉默是徹底的拒絕
我自孤演隔世情緣
不甘說再見
也許孤獨真的早已註定
只是愛上愛情本身
忘卻了載體
時間肆意流放我們的生命
誰會伴君亡命天涯
不會說再見
說出的語言總會過時
讓歲月撿拾經年舊夢
你是夢里拭淚的人
獨坐三生石上
在彼岸靜候彼岸花開
不能說再見
任性你萬年朝夕
三千弱水
泣我瓢飲性情
橋頭灑落一地的孟婆湯
清晰你輪回的胎記
不許說再見
再見已是咫尺天涯
在你身邊
得一人便是天下
穿越愛恨紅塵 只為
做你隔離時空的紅顏
2011年09月28日 不想,不忍,不舍,不甘,不會,不能,不許說出的再見啊,只再見已是咫尺天涯啊!詩人對愛與理想的執著追求與無限堅守令人肅然起敬!因為有愛,所以生情,因為有夢,才會執著去探尋……深情哀婉的告白,字字啼血,句句纏綿,堪稱佳品!
⑥ 《光輝歲月,不說再見香港音樂時光書》txt下載在線閱讀全文,求百度網盤雲資源
《光輝歲月,不說再見》(毛球)電子書網盤下載免費在線閱讀
鏈接:https://pan..com/s/1rw_D_Qtw55X_484-nIk8Pw
書名:光輝歲月,不說再見
作者:毛球
豆瓣評分:6.6
出版社:北京聯合出版公司
出版年份:2016-1-1
頁數:336
內容簡介:
從第一首流行粵語歌的誕生,到張國榮、梅艷芳、譚詠麟的登頂,從四大天王的崢嶸歲月,到巨星落幕的瑟瑟寒秋,這里既有香港音樂的風雨史話,也有你我共同的青春旅程。曾經的經典,如今的懷念。那些被貼上時游標簽的音樂,是溫暖過我們的擁抱,也是我們擁抱過的青春。30年的精選,總有那麼一首歌,一段故事,驚艷過你的時光,溫柔過你的歲月。掃描書中的二維碼,發現每一份精心製作的歌單,一同聆聽記憶深處的回響。
作者簡介:
毛球
本名苗欣宇,自由撰稿人,樂評人。在各類報刊發表文章近百萬字,參與編著、編譯圖書多種,作品包括《觀世音密碼》《傳世唐卡》《倉央嘉措詩傳》等。家中珍藏數百張音樂專輯, 對香港音樂尤為熱愛,是資深發燒友。目前客居廣州,聽歌,遛狗,寫字,做飯。
⑦ 《泰戈爾詩集》txt下載在線閱讀,求百度網盤雲資源
《泰戈爾詩集》([印度] 拉賓德拉納特·泰戈爾)電子書網盤下載免費在線閱讀
鏈接:https://pan..com/s/1njW2ACdM9jJ7-K3w-iJVUg
書名:泰戈爾詩集
作者:[印度] 拉賓德拉納特·泰戈爾
譯者:深幻
豆瓣評分:8.9
出版社:北京出版社
出版年份:2004-7
頁數:189
內容簡介:
從上一年暮春到現在,一年的勞作終於結束!
這一年來,大多數時間都投在這本詩集的翻譯工作里,期間頗費心思。不知道該用什麼詞語來描述整個過程中的感受——最多的是像手捧珍寶一樣的小心翼翼,但時有情不自禁的喜悅透出來,好多次又想抓住誰讀給他聽。
當然也有重重困難。
首先是泰戈爾先生的作品精妙絕倫,每一語每一詞都那麼妥帖,而且意思深遠,需要反復咀嚼琢磨。很多時候,一個詞要長時間斟酌,屢次更改。幸好是用電腦寫作,改起來不留痕跡,否則一張紙恐怕早已塗花。
再者是前輩們的譯作實准超越。幾十年前,初讀泰戈爾先生的詩歌,就是看冰心、鄭振鐸等諸先生的作品,經久品誦已浸潤心田。這次從原作下手直接翻譯,難免會覺得大有挑戰。能順暢進行的主要動力是多年來內心的喜愛、體會和領悟,而且腳下又有那麼堅厚的基石。所以雖是高山,仍想攀越。
為了不失原文的精妙,我們特為短小雋永的《飛鳥集》和《流螢集》加配了英文原詩,便於大家更好地領略。
就這樣且走且駐地把最初計劃的八個月延做了一年,完結時又遇春風拂面。
窗外桃樹放花,柳枝萌綠,陽光朗朗。好一片明澈的景緻,恰似泰戈爾先生的詩,或者確切地說,是其中的一些境界。如果真要作比喻,也只好把泰戈爾先生的詩作比為光焰變幻的金剛石,永難參透。
不過,我們卻暗求自己的努力能化成縷縷清風,飄散開來,為大家的閱讀生活添些意趣。又恐力不能勝,深有忐忑。
⑧ 這個ASP木馬的密碼是什麼
這個很麻煩哦!因為密碼是通過加密的,通過了或運算、移位、異或等。要想破解還得看Md5.asp(一般都是這個命名的加密演算法文件)。下面就是一種:
Private Const BITS_TO_A_BYTE = 8
Private Const BYTES_TO_A_WORD = 4
Private Const BITS_TO_A_WORD = 32
Private m_lOnBits(30)
Private m_l2Power(30)
Private Function LShift(lvalue, iShiftBits)
If iShiftBits = 0 Then
LShift = lvalue
Exit Function
ElseIf iShiftBits = 31 Then
If lvalue And 1 Then
LShift = &H80000000
Else
LShift = 0
End If
Exit Function
ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
Err.Raise 6
End If
If (lvalue And m_l2Power(31 - iShiftBits)) Then
LShift = ((lvalue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(iShiftBits)) Or &H80000000
Else
LShift = ((lvalue And m_lOnBits(31 - iShiftBits)) * m_l2Power(iShiftBits))
End If
End Function
Private Function RShift(lvalue, iShiftBits)
If iShiftBits = 0 Then
RShift = lvalue
Exit Function
ElseIf iShiftBits = 31 Then
If lvalue And &H80000000 Then
RShift = 1
Else
RShift = 0
End If
Exit Function
ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
Err.Raise 6
End If
RShift = (lvalue And &H7FFFFFFE) \ m_l2Power(iShiftBits)
If (lvalue And &H80000000) Then
RShift = (RShift Or (&H40000000 \ m_l2Power(iShiftBits - 1)))
End If
End Function
Private Function RotateLeft(lvalue, iShiftBits)
RotateLeft = LShift(lvalue, iShiftBits) Or RShift(lvalue, (32 - iShiftBits))
End Function
Private Function AddUnsigned(lX, lY)
Dim lX4
Dim lY4
Dim lX8
Dim lY8
Dim lResult
lX8 = lX And &H80000000
lY8 = lY And &H80000000
lX4 = lX And &H40000000
lY4 = lY And &H40000000
lResult = (lX And &H3FFFFFFF) + (lY And &H3FFFFFFF)
If lX4 And lY4 Then
lResult = lResult Xor &H80000000 Xor lX8 Xor lY8
ElseIf lX4 Or lY4 Then
If lResult And &H40000000 Then
lResult = lResult Xor &HC0000000 Xor lX8 Xor lY8
Else
lResult = lResult Xor &H40000000 Xor lX8 Xor lY8
End If
Else
lResult = lResult Xor lX8 Xor lY8
End If
AddUnsigned = lResult
End Function
Private Function md5_F(x, y, z)
md5_F = (x And y) Or ((Not x) And z)
End Function
Private Function md5_G(x, y, z)
md5_G = (x And z) Or (y And (Not z))
End Function
Private Function md5_H(x, y, z)
md5_H = (x Xor y Xor z)
End Function
Private Function md5_I(x, y, z)
md5_I = (y Xor (x Or (Not z)))
End Function
Private Sub md5_FF(a, b, c, d, x, s, ac)
a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_F(b, c, d), x), ac))
a = RotateLeft(a, s)
a = AddUnsigned(a, b)
End Sub
Private Sub md5_GG(a, b, c, d, x, s, ac)
a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_G(b, c, d), x), ac))
a = RotateLeft(a, s)
a = AddUnsigned(a, b)
End Sub
Private Sub md5_HH(a, b, c, d, x, s, ac)
a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_H(b, c, d), x), ac))
a = RotateLeft(a, s)
a = AddUnsigned(a, b)
End Sub
Private Sub md5_II(a, b, c, d, x, s, ac)
a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_I(b, c, d), x), ac))
a = RotateLeft(a, s)
a = AddUnsigned(a, b)
End Sub
Private Function ConvertToWordArray(sMessage)
Dim lMessageLength
Dim lNumberOfWords
Dim lWordArray()
Dim lBytePosition
Dim lByteCount
Dim lWordCount
Const MODULUS_BITS = 512
Const CONGRUENT_BITS = 448
lMessageLength = Len(sMessage)
lNumberOfWords = (((lMessageLength + ((MODULUS_BITS - CONGRUENT_BITS) \ BITS_TO_A_BYTE)) \ (MODULUS_BITS \ BITS_TO_A_BYTE)) + 1) * (MODULUS_BITS \ BITS_TO_A_WORD)
ReDim lWordArray(lNumberOfWords - 1)
lBytePosition = 0
lByteCount = 0
Do Until lByteCount >= lMessageLength
lWordCount = lByteCount \ BYTES_TO_A_WORD
lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE
lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(Asc(Mid(sMessage, lByteCount + 1, 1)), lBytePosition)
lByteCount = lByteCount + 1
Loop
lWordCount = lByteCount \ BYTES_TO_A_WORD
lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE
lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(&H80, lBytePosition)
lWordArray(lNumberOfWords - 2) = LShift(lMessageLength, 3)
lWordArray(lNumberOfWords - 1) = RShift(lMessageLength, 29)
ConvertToWordArray = lWordArray
End Function
Private Function WordToHex(lvalue)
Dim lByte
Dim lCount
For lCount = 0 To 3
lByte = RShift(lvalue, lCount * BITS_TO_A_BYTE) And m_lOnBits(BITS_TO_A_BYTE - 1)
WordToHex = WordToHex & Right("0" & Hex(lByte), 2)
Next
End Function
Public Function MD5(sMessage)
m_lOnBits(0) = CLng(1)
m_lOnBits(1) = CLng(3)
m_lOnBits(2) = CLng(7)
m_lOnBits(3) = CLng(15)
m_lOnBits(4) = CLng(31)
m_lOnBits(5) = CLng(63)
m_lOnBits(6) = CLng(127)
m_lOnBits(7) = CLng(255)
m_lOnBits(8) = CLng(511)
m_lOnBits(9) = CLng(1023)
m_lOnBits(10) = CLng(2047)
m_lOnBits(11) = CLng(4095)
m_lOnBits(12) = CLng(8191)
m_lOnBits(13) = CLng(16383)
m_lOnBits(14) = CLng(32767)
m_lOnBits(15) = CLng(65535)
m_lOnBits(16) = CLng(131071)
m_lOnBits(17) = CLng(262143)
m_lOnBits(18) = CLng(524287)
m_lOnBits(19) = CLng(1048575)
m_lOnBits(20) = CLng(2097151)
m_lOnBits(21) = CLng(4194303)
m_lOnBits(22) = CLng(8388607)
m_lOnBits(23) = CLng(16777215)
m_lOnBits(24) = CLng(33554431)
m_lOnBits(25) = CLng(67108863)
m_lOnBits(26) = CLng(134217727)
m_lOnBits(27) = CLng(268435455)
m_lOnBits(28) = CLng(536870911)
m_lOnBits(29) = CLng(1073741823)
m_lOnBits(30) = CLng(2147483647)
m_l2Power(0) = CLng(1)
m_l2Power(1) = CLng(2)
m_l2Power(2) = CLng(4)
m_l2Power(3) = CLng(8)
m_l2Power(4) = CLng(16)
m_l2Power(5) = CLng(32)
m_l2Power(6) = CLng(64)
m_l2Power(7) = CLng(128)
m_l2Power(8) = CLng(256)
m_l2Power(9) = CLng(512)
m_l2Power(10) = CLng(1024)
m_l2Power(11) = CLng(2048)
m_l2Power(12) = CLng(4096)
m_l2Power(13) = CLng(8192)
m_l2Power(14) = CLng(16384)
m_l2Power(15) = CLng(32768)
m_l2Power(16) = CLng(65536)
m_l2Power(17) = CLng(131072)
m_l2Power(18) = CLng(262144)
m_l2Power(19) = CLng(524288)
m_l2Power(20) = CLng(1048576)
m_l2Power(21) = CLng(2097152)
m_l2Power(22) = CLng(4194304)
m_l2Power(23) = CLng(8388608)
m_l2Power(24) = CLng(16777216)
m_l2Power(25) = CLng(33554432)
m_l2Power(26) = CLng(67108864)
m_l2Power(27) = CLng(134217728)
m_l2Power(28) = CLng(268435456)
m_l2Power(29) = CLng(536870912)
m_l2Power(30) = CLng(1073741824)
Dim x
Dim k
Dim AA
Dim BB
Dim CC
Dim DD
Dim a
Dim b
Dim c
Dim d
Const S11 = 7
Const S12 = 12
Const S13 = 17
Const S14 = 22
Const S21 = 5
Const S22 = 9
Const S23 = 14
Const S24 = 20
Const S31 = 4
Const S32 = 11
Const S33 = 16
Const S34 = 23
Const S41 = 6
Const S42 = 10
Const S43 = 15
Const S44 = 21
x = ConvertToWordArray(sMessage)
a = &H67452301
b = &HEFCDAB89
c = &H98BADCFE
d = &H10325476
For k = 0 To UBound(x) Step 16
AA = a
BB = b
CC = c
DD = d
md5_FF a, b, c, d, x(k + 0), S11, &HD76AA478
md5_FF d, a, b, c, x(k + 1), S12, &HE8C7B756
md5_FF c, d, a, b, x(k + 2), S13, &H242070DB
md5_FF b, c, d, a, x(k + 3), S14, &HC1BDCEEE
md5_FF a, b, c, d, x(k + 4), S11, &HF57C0FAF
md5_FF d, a, b, c, x(k + 5), S12, &H4787C62A
md5_FF c, d, a, b, x(k + 6), S13, &HA8304613
md5_FF b, c, d, a, x(k + 7), S14, &HFD469501
md5_FF a, b, c, d, x(k + 8), S11, &H698098D8
md5_FF d, a, b, c, x(k + 9), S12, &H8B44F7AF
md5_FF c, d, a, b, x(k + 10), S13, &HFFFF5BB1
md5_FF b, c, d, a, x(k + 11), S14, &H895CD7BE
md5_FF a, b, c, d, x(k + 12), S11, &H6B901122
md5_FF d, a, b, c, x(k + 13), S12, &HFD987193
md5_FF c, d, a, b, x(k + 14), S13, &HA679438E
md5_FF b, c, d, a, x(k + 15), S14, &H49B40821
md5_GG a, b, c, d, x(k + 1), S21, &HF61E2562
md5_GG d, a, b, c, x(k + 6), S22, &HC040B340
md5_GG c, d, a, b, x(k + 11), S23, &H265E5A51
md5_GG b, c, d, a, x(k + 0), S24, &HE9B6C7AA
md5_GG a, b, c, d, x(k + 5), S21, &HD62F105D
md5_GG d, a, b, c, x(k + 10), S22, &H2441453
md5_GG c, d, a, b, x(k + 15), S23, &HD8A1E681
md5_GG b, c, d, a, x(k + 4), S24, &HE7D3FBC8
md5_GG a, b, c, d, x(k + 9), S21, &H21E1CDE6
md5_GG d, a, b, c, x(k + 14), S22, &HC33707D6
md5_GG c, d, a, b, x(k + 3), S23, &HF4D50D87
md5_GG b, c, d, a, x(k + 8), S24, &H455A14ED
md5_GG a, b, c, d, x(k + 13), S21, &HA9E3E905
md5_GG d, a, b, c, x(k + 2), S22, &HFCEFA3F8
md5_GG c, d, a, b, x(k + 7), S23, &H676F02D9
md5_GG b, c, d, a, x(k + 12), S24, &H8D2A4C8A
md5_HH a, b, c, d, x(k + 5), S31, &HFFFA3942
md5_HH d, a, b, c, x(k + 8), S32, &H8771F681
md5_HH c, d, a, b, x(k + 11), S33, &H6D9D6122
md5_HH b, c, d, a, x(k + 14), S34, &HFDE5380C
md5_HH a, b, c, d, x(k + 1), S31, &HA4BEEA44
md5_HH d, a, b, c, x(k + 4), S32, &H4BDECFA9
md5_HH c, d, a, b, x(k + 7), S33, &HF6BB4B60
md5_HH b, c, d, a, x(k + 10), S34, &HBEBFBC70
md5_HH a, b, c, d, x(k + 13), S31, &H289B7EC6
md5_HH d, a, b, c, x(k + 0), S32, &HEAA127FA
md5_HH c, d, a, b, x(k + 3), S33, &HD4EF3085
md5_HH b, c, d, a, x(k + 6), S34, &H4881D05
md5_HH a, b, c, d, x(k + 9), S31, &HD9D4D039
md5_HH d, a, b, c, x(k + 12), S32, &HE6DB99E5
md5_HH c, d, a, b, x(k + 15), S33, &H1FA27CF8
md5_HH b, c, d, a, x(k + 2), S34, &HC4AC5665
md5_II a, b, c, d, x(k + 0), S41, &HF4292244
md5_II d, a, b, c, x(k + 7), S42, &H432AFF97
md5_II c, d, a, b, x(k + 14), S43, &HAB9423A7
md5_II b, c, d, a, x(k + 5), S44, &HFC93A039
md5_II a, b, c, d, x(k + 12), S41, &H655B59C3
md5_II d, a, b, c, x(k + 3), S42, &H8F0CCC92
md5_II c, d, a, b, x(k + 10), S43, &HFFEFF47D
md5_II b, c, d, a, x(k + 1), S44, &H85845DD1
md5_II a, b, c, d, x(k + 8), S41, &H6FA87E4F
md5_II d, a, b, c, x(k + 15), S42, &HFE2CE6E0
md5_II c, d, a, b, x(k + 6), S43, &HA3014314
md5_II b, c, d, a, x(k + 13), S44, &H4E0811A1
md5_II a, b, c, d, x(k + 4), S41, &HF7537E82
md5_II d, a, b, c, x(k + 11), S42, &HBD3AF235
md5_II c, d, a, b, x(k + 2), S43, &H2AD7D2BB
md5_II b, c, d, a, x(k + 9), S44, &HEB86D391
a = AddUnsigned(a, AA)
b = AddUnsigned(b, BB)
c = AddUnsigned(c, CC)
d = AddUnsigned(d, DD)
Next
'MD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(c) & WordToHex(d))
MD5=LCase(WordToHex(b) & WordToHex(c))
End Function