① 任嘉伦张钧甯主演的《不说再见》,你觉着好看吗对此作何评价
任嘉伦张钧甯主演的《不说再见》好看,超出预期的精彩。不管是导演的运镜,编剧的逻辑、每个演员的演绎,偶尔加入的各种或搞笑或紧张或沉痛的背景音乐、以及各种服化道细节都很精彩。
后面还故意在无意间提醒穆青仓库附近的位置很可疑,提醒穆青说有冷藏车天天进进出出方便找到冷链仓库,找到快奄奄一息的卧底警察赵楠,最后还用诗集来提醒穆青炸弹的密码,解救了赵楠。这一切都体现了她身为警察的聪明果敢以及作为卧底的大无畏精神,哪里差了?
② 不说再见分集介绍 不说再见简介
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