第一篇:公务员学习廉洁自律两规心得三篇大全
党内两规学习心得体会
经过一年多的修订和完善,中央印发了新版的《中国共产党廉洁自律准则》和《中国共产党纪律处分条例》。新的《准则》和《条例》是落实党的十八大和十八届三中、四中、五中全会精神,贯彻总书记系列重要讲话精神,加强党内法规制度建设的重要成果,它为全面从严治党划出了明确的道德和纪律红线:
一、把握内涵要求,做学习的表率
快速反应、紧紧跟上,勤学实学深学,把学习《准则》《条例》的过程,变为做好今年各项工作、谋划明年工作思路的过程,把学习成果转化为提振精神状态、提升能力素质、提高工作质效的过程。
二、营造浓厚氛围,做宣传的表率
《准则》《条例》是国家机关正确履行职责、强化监督执纪问责的重要依据和制度利器,要利用“一周双学”认真抓好《准则》和《条例》的学习宣传贯彻工作。要人人担当、个个参与、时时宣讲,要多途径宣传、全覆盖宣传。
三、自觉接受约束,做遵守的表率
以身作则、率先垂范,真正把《准则》《条例》的各项要求内化于心、外化于形;要自觉接受党组织、人民群众和新闻舆论监督,时刻维护税务干部忠诚、干净、担当的良好形象。
四、全面精准履职,做执行的表率
按照《准则》《条例》要求,进一步深化强化监督执纪问责,全面落实监督责任。要在全面从严治党中找准定位,真正做到不敢腐、不能腐、不想腐。认真履行好自己的职责与义务,跟着纪律走,跟着规矩走,跟着监督走,要做清醒人、明白人、局中人,以《准则》、做一名合格的党员干部。
《条例》标准约束自己,党内两规学习心得体会
《中国共产党廉洁自律准则》和《中国共产党纪律处分条例》(即简称党内两规),这是推进从严治党新的重要举措,对深入推进党风廉政建设具有里程碑式的重大意义。现根据院里组织学习及提升自我觉悟需要将学习心得体会总结如下:
一、深刻认识党内两规实施的重大意义
围绕两个百年奋斗目标,落实党的十八大和十八届三中、四中全会精神,贯彻总书记系列重要讲话精神,按照“四个全面”战略布局要求,我们党将加强党的领导作为根本,制定和修订了《条例》《准则》等一系列党内法规制度,管党治党的尺子越来越清晰,推进制度建设与时俱进。
从严治党的制度建设更加完善。“欲求木之长者,必固其根本;欲流之远者,必浚其泉源”,通过建立《条例》《准则》等一系列规章制度,把反腐败斗争、纠“四风”等从严治党的实践成果从制度层面进行总结,转化为全党共同遵守的纪律要求,从而以更高的标准和更严的要求进一步加强党的建设,巩固作风建设的成果,起到标本并治、强根固本的作用。
二、大力营造学纪知纪的高潮 党内两规是新常态下进一步全面加强推进从严治党的重要规章制度,要结合“三严三实”研学活动,在住建系统全面深入开展《条例》《准则》的学习贯彻活动。要以学习贯彻《条例》《准则》为契机,主动接受人民群众和干部职工的监督,自觉经常通过批评和自我批评查找纠正自身的缺点不足,在学习贯彻党内规则上做到以身作则、以上率下。通过贯彻学习,自觉强化纪律约束,做到心中有法纪、言行合法度、办事守规矩,始终保持坚强党性和坚守政治规矩,始终在思想上政治上行动上与党中央保持高度一致,做政治上的明白人。
三、严格执行遵规守纪的新标
把《准则》要求作为律己准绳,把《条例》作为基本底线和重要遵循,严守党的政治纪律规矩,强化党性锤炼,以“三严三实”的标准切实担起以身示范的责任。严格遵守中央八项规定、省委六条意见、黄冈“八简两风”、市委“四个禁止”等规定,严格执行“三重一大”集体决策、“四个不直接分管”和个人有关事项报告等制度,严格按制度管权管事管人,老老实实做人,勤勤恳恳干事,严守“底线”不含糊,看其“高线”不懈怠,不断强化住建系统中守纪律讲规矩的政治氛围和政治习惯。
党内两规学习心得体会
根据要求学习贯彻新修订的《中国共产党廉洁自律准则》和《中国共产党纪律处分条例》文件精神,本院召开专题学习会。为将学习活动推向深入,现将个人学习心得体会归纳如下:
一、讲党性是立身之本
加强党性修养,要始终做到,坚定共产主义理想和中国特色社会主义信念;坚定政治立场,始终自觉同党中央在思想上、政治上、行动上保持高度一致;坚定全心全意为人民服务的宗旨意识,把为人民谋利益作为最根本的目的;坚持群众路线,相信群众、依靠群众,始终保持同群众的血肉联系。
二、重品行是做人之道
重品行,首先就是要老实做人、做老实人。应多工作少埋怨,多奉献少攀比,始终保持一颗平常心,一颗健康心,一颗公仆心;要算好“政治账”、算好“经济账”、算好“名誉账”、算好“家庭账”、算好“亲情账”、算好“自由账”。要以人为本,树立正确的利益观;要牢记身份,注重形象,躬身做官,挺腰做人,俯首干事,努力做一个有道德的人,一个有益于人民的人。
三、作表率是自我约束
要严格要求自己,要求别人遵守的自己先遵守,要求别人做到的自己先做到,要求别人提倡的自己先提倡,要求别人不干的自己先不干,时时处处以身作则,率先垂范。深入学习贯彻科学发展观,做到真学、真懂、真信、真用,使认认真真学习成为不断增强政治上坚定、理论上清醒的过程;在解放思想中真抓实干,在转变观念中破解难题,在更新思路中转变发展方式,真正把解放思想体现在具体工作中,落实到解决问题上来;扑下身子,深入基层,深入实际,深入群众,多做联系群众、化解矛盾、解决难题的工作,让老百姓从身边的变化中感受到各级干部在为群众办好事、办实事。
二〇一六年三月二日
第二篇:学习《中国共产党廉洁自律准则》心得
通过学习《中国共产党廉洁自律准则》,认识到《中国共产党廉洁自律准则》的颁布和实施充分表明了党中央反腐倡廉的决心,实现了有效预防和惩治腐败的制度化,是规范党员领导干部廉洁从政的重要党内法规,对于加强广大党员干部廉洁自律工作和干部队伍建设,进一步提高管党治党水平和深入推进反腐倡廉建设具有十分重要的意义。在学习的过程中,对照群众提出的意见和建议,检查了自己的行为,查找自身存在的问题和不足,深刻反省了在思想作风、学风、工作作风和改变生活作风方面存在的问题。
一、存在的问题与不足:
1、理论学习不够细致、不够深入、不够系统,思考认识还不够到位。有时忙于工作事务,忽视学习。在时间少任务重的情况下,学习有所放松。学习是个长期的积累过程,我仍需继续努力,加强学习,总结不足,进一步加强廉洁从政建设。
2、理论与实践的结合还不紧密,实践不够全面彻底。由于平时工作规律性不够,没有准确把握住事物的本质。从而导致了分析、解决问题的能力不足,工作重点不够突出,工作水平有待提高。需要进一步加强廉洁从政水平,堅持理论与实践保持高度的一致。
二、整改措施及下一步努力方向:
1、严格执行廉洁自律规定,自觉抵制各种不正之风。从思想上加强理论学习,不断提高自身的政治素质、业务技能,增强政治学习的自觉性、坚定性。
2、牢记党的光荣历史和艰苦奋斗的优良作风。不断加强党性修养、正确对待地位、名利、权力,时刻牢记入党誓词,深刻践行为党为人民服务的根本宗旨和目的。
3、坚持廉洁执政、自觉接受群众监督。从思想源头上下功夫,做到头脑清醒、政治坚定、业务优良,做到清正廉洁、自重、自省,以身作则,从群众中来到群众中去。
在对照群众提出的意见和建议,我仍然存在一定的差距和不足之处,我将在今后的工作中,严格遵守宪法和法律、严格遵守党的纪律,强化廉政自律意识,努力在执政活动中克服自己存在的问题和不足,以《廉政准则》要求为标准,更加严于律己,更加坚定地和各种不正之风、各种腐败现象作坚决的斗争,自觉接受人民群众的监督,始终保持一名其产党员的先进性,为学院的发展贡献自己的力量。
第三篇:学习《中国共产党廉洁自律准则》心得
学习《中国共产党廉洁自律准则》心得 杜学生 2016.6.24 七律
廉政 廉洁自律沐甘霖,洁身方能得民心。党纪为镜照魂魄,清肤去病健元神。一身正气两袖清,几十载途重为人。希望今朝多海瑞,建设强国富人民。
第四篇:学习中国共产党廉洁自律准则心得
学习《中国共产党廉洁自律准则》心得体会
最近一段时间,通过认真阅读、学习、理解、领会《中国共产党廉洁自律准则》,深深地知道,党员干部要廉洁自律,是我们党历来坚守的铮铮誓言,而且早在党的七届二中全会上,毛泽东同志高瞻远瞩地提出了全党同志必须做好“两个务必”的著名论述,即“务必使同志们保持谦虚、谨慎、不骄、不躁的作风,务必使同志们保持艰苦朴素的作风。”目前,在深入贯彻十八大精神,全面实现中国梦的新形势下,总书记号召全党,特别是领导干部要时刻保证党风廉洁自律的工作作风,加强廉政建设和反腐败工作,促进党员干部廉洁自律,深入开展反腐斗争具有十分重要的意义。通过这一段的学习,我有以下体会,不当之处,请领导批评指正。
第一,加强党风廉政建设,践行廉洁自律,践行“三严三实”
当下,我国经济发展进入新常态,改革发展稳定任务艰巨繁重,反腐败斗争面临严峻复杂形势。面对新阶段新形势新任务,我们更要以此为准绳,严以律己,廉洁自律,严守党的政治纪律和政治规矩,加强党风廉政建设。从严治党,反对腐败,是加强党的建设的重要手段。加强党风廉政建设,根本任务是要全面端正党风,把党建设成为全心全意为人民服务的党,从而使人民的利益实现好、维护好、发展好。随着改革开放的不断深入和社会主义市场经济体制的建立,一些腐败现象逐渐侵入我们党内,侵蚀着党的的肌体,腐蚀着一些党员干部。能不能通过抓党风廉政建设,反对腐败,端正党风,解决党内的腐败现象,关系到党组织能不能得到纯洁,关系到党的生死存亡。无论什么形式的腐败现象,什么性质的腐败行为,其本质上者是侵害最广大人民的根本利益,都是阻碍、破坏生产力的发展,都是与先进文化的前进方向背道而驰,也都是违背“三严三实”要求的。而腐败行为得不到惩处,腐败现象不能消除,践行“三严三实”,实现中国梦的重要思想就将成为一句空话。因此,必须加强党风廉政建设,促进党员干部廉洁自律,纯洁我们党的队伍,使我们的党得到人民的拥护和支持。回顾我们党的历史,甚至我们国家的发展史,不难看到,只要党风正,政风正,党的组织纯洁,党员干部能廉洁奉公,廉洁为民,能真正践行“三严三实”,党就会前进,就会发展,人民群众就会拥护和支持,党领导的事业就会不断从一个胜利走向另一个胜利。反之,如果党风不正,党的组织、党员以权谋私,侵害人民利益,人民群众就会反对,党就会脱离群众,失去群众,就会遭受挫折。所以,开展党风廉政建设,就是要严肃党的纪律,端正党风,使广大党员干部能立党为公,勤政为民,认真自觉践行“三严三实”。在这样的认识下,我总是要求自己,无论时下社会风气多么复杂,自己坚决做到廉洁、清白,在一些比如职称评审等关键时刻、敏感时刻,自己总能坚决顶住一切压力、一切方式,坚决拒绝一切那些行为,使自己永远保持“一身正气”的美好声誉。
第二,严于律己,身体力行,率先垂范,起模范带头作用
在党风廉政建设工作中,党员干部特别是领导干部是决定的因素。作为领导干部,我认为应该在四个方面做出表率。一是在学习理论、坚定共产主义理想信念上作表率。理想信念是灵魂,是动力、是方向。理想的动摇是最危险的动摇,信念的滑坡是最危险的滑坡。作为教师,我们一定要坚定信念不动摇,为党和国
家的教育事业奋斗不止,贡献自己的所有了力量,在所不辞。二是在增强贯彻执行党的基本路线、方针政策和自觉性上作表率。当下,多种思想、思潮混杂,多元的价值追求混乱了一些人的价值观,苦乐观、人生观、幸福观。我们作为人民教师,一定要在任何场合,无论是教师课堂,还是校园课外,都要以身作则,时时刻刻,事事处处传递正能量,宣传党的各想路线方针政策。三是在加强学习,不断提高管理水平和教学水平上做表率。学校是党的路线方针政策传播的最好场所,我们作为教师,必须时刻响应党的号召,传递党的声音,充分利用好这一阵地,把我们的学生教育成为国家,为党贡献自己所有力量的接班人,让我们的事业不断发展下去,让我们的国家不断富强起来。四是在坚持从严治党,增强拒腐防变的能力上作表率。作为领导干部,就要襟怀坦白,光明磊落,一身正气。就要严于律己,身体力行,率先垂范,起好模范带头作用。通过自己的模范行动,做到一级抓一级,一级带一级,事事有痕迹,处处有成效。要时刻把学生的利益放在心上,要时刻保持艰苦奋斗的作风,做到自重、自省、自警、自励,堂堂正正做人,勤勤恳恳工作,清清白白做官,干干净净做人,只有这样,任何时候、任何条件下,都能安得下心,守得住身,静得了神,睡的安稳。因为我们新闻与传播学院培养的人将来是媒体人,就目前媒体乱象,动辄以曝光要挟官员和富商,动辄以有偿新闻捞取好处,我时时刻刻经常提醒、教育、要求学生“手莫伸,伸手必被捉”,我也经常提醒自己,管好自己,也管好家人,管好部属,做到慎独、慎欲、慎权、慎微,增强拒腐防变的能力。
第三,提高自身各项素质,无愧于人民教师这一光荣称号
我认为,学校一直以来是一块净土,是一块神圣的地方,我们身居净土,所教学生那么虔诚地来学习,有着纯洁单纯的知识渴求。我们身处神圣,所面对的学生那么恭敬于你的修养、学识。我怎么能愧对学生心中的纯洁、单纯和恭敬呢?所以,党和国家开展廉洁自律活动,是多么好的举措呀,我要以此为契机,抓好自身建设,在思想上,牢记全心全意为人民服务的宗旨,树立马克思主义的世界观、人生观和价值观,发扬艰苦奋斗、爱岗敬业、踏实工作的精神。在作风建设上,求真务实,开拓进取,关心学生疾苦,积极为学生排忧解难。在组织建设上,积极做好各项工作,围绕教学中心工作,调动广大教师的积极性和主动性,配合学院班子做好各项工作。同时结合工作实际,继续执行廉洁自律的各项制度,按照中央、省、学校党委有关廉洁自律的规定,定期进行自我检查对照,进行批评和自我批评,防微杜渐。
以上这些,是我学习《中国共产党廉洁自律准则》的一些体会,也是对自己的要求,不当之处,不到之处,敬请领导和同志们批评指正。
第五篇:学习《中国共产党廉洁自律准则》心得
学习《中国共产党廉洁自律准则》心得体会
《中国共产党廉洁自律准则》和《中国共产党纪律处分条例》深刻总结了党的十八大以来党风廉政建设和反腐败斗争的丰富实践和成功经验,体现了以习近平同志为核心的党中央全面从严治党、坚决反对腐败、建设廉洁政治的坚强决心,对深入推进党风廉政建设和反腐败斗争,永葆党的先进性和纯洁性,具有十分重大而深远的意义。我们要深刻认识《准则》和《条例》颁布实施的重要意义,进一步增强学习贯彻执行的自觉性、主动性,切实把《准则》和《条例》的各项要求内化于心、外化于行。要严格用《条例》规范自己的言行举止,坚决查处一切违纪行为,维护党的纪律的权威性、严肃性。要集中加强宣传,让社会了解《准则》和《条例》的要求,发挥好监督作用。
古人云:为文务简劲。从日前中共中央印发的《中国共产党廉洁自律准则》中,给人感受最深的就是“简劲”二字。
大道至简才能知行合一。《史记·高祖本纪》中记载,刘邦在攻下咸阳、还军灞上之后,与关中父老约法三章:“杀人者死,伤人及盗抵罪。”寥寥十个字,就让关中从战乱中安定下来。再看看今天党中央颁布的这个《准则》,薄薄一页、短短八句,简洁明了,易知易行。正应了古人那句学术格言:真言一句话,假传万卷书。老子曰:大道至简。越是简单,越有利于执行;越是简单,越能管长管常。《准则》虽简,全党共知,上下共守。
德法相济才能标本兼治。如果说,法律的生命在于执行,那么纪律的生命就在于遵守。中华民族传统文化,历来都讲德法相依、德治礼序。《准则》虽是党内的法规,但坚持的是依规治党与以德治党相结合;《准则》虽然只有8条,但紧扣的是廉洁自律主题,围绕的是理想信念宗旨,重在立德。可以这样讲,《准则》作为党执政以来第一部面向全体党员规范全党廉洁自律工作的重要基础性法规,既有德法相济的“温度”,更有标本兼治的“力度”。
坚持“高线”才能守住“底线”。王岐山同志说:“全面从严治党,既要把理想信念宗旨这个核心价值观作为‘高线’,又要守住党的纪律这条‘底线’。”《准则》第一句就是:全体党员和各级党员领导干部必须坚定共产主义理想和中国特色社会主义信念,必须坚持全心全意为人民服务根本宗旨。这就是我们要坚持的“高线”。《准则》内容8条,又为党员和党员领导干部树立了一个看得见、够得着的高标准。这就是我们要守住的“底线”。只有提升“高线”才能远离“底线”;只有瞄准“高线”才能不碰“底线”。
综上所述,《准则》虽简,从严管党要言不烦;《准则》虽简,从严治党力度不减。我们体会《准则》的“简劲”,就要在贯彻《准则》的过程中,务实求“简”,落实求“劲”。真正把各项要求刻印在全体党员特别是党员领导干部心上,真正落实好全面从严治党的主体责任,使廉洁自律规范内化于心、外化于行,坚持理想信念宗旨“高线”,永葆共产党人清正廉洁的政治本色。
通过学习《中国共产党廉洁自律准则》,对照党员领导干部廉洁从政的规定要求,深感作为一个共产党员、国家干部,在政治思想和世界观方面需要时时刻刻提醒自己:不能放松理论学习,不能放松自身修养和素质的提高,不能放松工作生活中的小节问题。只有时刻牢记党的宗旨,时刻将党和人民的利益放在高于一切的位置时,才能树立起党的威信和党的形象,才能远离腐败、远离犯罪、免于耻辱和免于被人民群众所唾弃。
一、加强学习,搞好党风廉政建设,做到廉洁自律,维护党的形象
我党历来十分重视党的形象,将党的形象看作是关乎党的存亡的大问题,因此,每一个党员都必须对照“八个坚持,八个反对”来严格要求自己。也正因为党的形象是关乎党的生死存亡的大事,所以反腐倡廉也应当作为每一个党员必须严格履行的义务。党员领导干部廉洁从政,是新形势下坚持党要管党、从严治党,加强对党员领导干部教育、管理、监督的现实需要。党员领导干部廉洁从政是党的性质和宗旨的基本要求,是全面贯彻党的路线方针政策的重要保障,也是正确行使权力、履行职责的重要基础。《廉政准则》正是适应这样的新形势新任务新要求制定的,它进一步充实和完善了党员领导干部廉洁从政行为规范,对党员领导干部提出了更高的标准和更严的要求。贯彻实施《廉政准则》,有利于增强新形势下党员领导干部教育、管理、监督工作的针对性和实效性,促进党员领导干部保持清正廉洁、更好地为党和人民服务。《廉政准则》的颁布实施,使党员领导干部廉洁从政行为规范更加全面、更加系统,对于逐步形成用制度规范从政行为、按制度办事、靠制度管人的有效机制,具有重要的促进作用;对于加强和改进新形势下党的建设,进一步提高管党治党水平,加强对党员领导干部教育、管理、监督具有十分重要的意义。我们每个党员领导干部一定要从政治和全局的高度充分认识贯彻实施《廉政准则》的重要意义,认真学习《廉政准则》,按照《廉政准则》的规定规范和约束自己的行为。树立马克思主义的世界观、人生观和价值观以及正确的权力观、地位观、利益观,强化廉洁从政意识,增强贯彻执行党的基本路线和各项方针政策的自觉性、坚定性。自觉践行全心全意为人民服务的根本宗旨。严格执行廉洁从政各项要求,遵守制度,严于律己,洁身自好,自觉接受监督,管好配偶、子女和亲属,做廉洁从政的表率,坚决杜绝自己违反《廉政准则》行为的发生。
二、汲取深刻教训,从小事做起,时刻敲响警钟
“活到老、学到老、改造到老”是周恩来同志的座右铭,作为一个伟大的无产阶段革命家尚且如此,更何况我们的各级干部。尤其是面对建设有中国特色社会主义这一艰巨任务和更加复杂的国内外环境,一刻也不能放松个人世界观的改造,要不断加强党性修养,进一步坚定理想信念。纵观历史,所有的贪官污吏都是从贪欲的恶性膨胀而起的,现代的腐败分子也无例外。翻开那些走上犯罪道路的腐败分子的履历,不难看出,那些以身试法的人问题就出在世界观、权力观上,出在缺乏自律意识上,是他们自己毁了自己。因此,作为一名党员干部应该首先将警钟敲给自己,长鸣不绝于耳,要有做人、做事的准则,建立牢固的思想道德防线。胡锦涛同志提出牢记“两个务必”的讲话非常重要。要保持谦虚、谨慎、不骄、不躁的作风,继续发扬艰苦奋斗的作风,克服拜金主义、享乐主义和奢靡之风。才能有如履薄冰般的谨慎、如临深渊般的警醒。
三、努力提高自身素质,严于律己,身体力行,率先垂范,做好当前各项工作
当前,自己要结合工作实际,一是加强学习,通过学习,筑牢思想防线;二是继续提升人格修养,三是提高廉政意识,要在廉政上做到慎独、慎微、慎行,从小事上就严格要求,要三思而后行,要有正确的世界观、人生观和“生活观”,养成良好的生活作风,自觉抵制各种腐败现象,克服拜金主义、享乐主义,真正做到权为民所用,情为民所系、利为民所谋,实实在在做事、老老实实做人,干好本职工作。要按照有关廉洁自律的规定,定期进行检查对照,进行批评和自我批评,开展积极健康的思想斗争,防微杜渐;要进一步发扬理论联系实际的优良学风,用理论武装头脑,改造世界观,指导工作实践,不断提高理论水平和业务水平;要做到政治上坚定,思想上成熟,工作上更加敬业,增强“廉洁从政、服务发展”的意识,在各方面起好模范带头作用。以制度来管人,提高单位的各项工作成绩。
以上这些,是我学习的体会。我们的肩上担负着重托,只有不断提高政治素质、思想素质、作风素质,牢固树立为人民服务的思想,密切联系群众,始终成为人民的公仆,始终坚持实事求是的工作原则,一切从实际出发,养成艰苦朴素、勤俭节约的工作作风,不断开拓创新,与时俱进,面对复杂的环境,研究新情况,解决新问题,时刻以党员标准对照要求自己,只有严格遵守《廉政准则》,牢记党的宗旨,加强学习,团结干事,才能筑牢拒腐防变的思想防线,做一名合格的基层党员工作者。
/* md5.h */ #ifndef _MD5_H_ #define _MD5_H_ #define R_memset(x, y, z)memset(x, y, z)#define R_memcpy(x, y, z)memcpy(x, y, z)#define R_memcmp(x, y, z)memcmp(x, y, z)typedef unsigned long UINT4;typedef unsigned char *POINTER;/* MD5 context.*/ typedef struct { /* state(ABCD)*/ /*四个32bits数,用于存放最终计算得到的消息摘要。当消息长度〉512bits时,也用于存放每个512bits的中间结果*/ UINT4 state[4];/* number of bits, modulo 2^64(lsb first)*/ /*存储原始信息的bits数长度,不包括填充的bits,最长为 2^64 bits,因为2^64是一个64位数的最大值*/ UINT4 count[2];/* input buffer */ /*存放输入的信息的缓冲区,512bits*/ unsigned char buffer[64];} MD5_CTX;void MD5Init(MD5_CTX *);void MD5Update(MD5_CTX *, unsigned char *, unsigned int);void MD5Final(unsigned char [16], MD5_CTX *);#endif /* _MD5_H_ */ /////////////////////////////////////////////////////////////////////////// /* md5.cpp */ #include “stdafx.h” /* Constants for MD5Transform routine.*/ /*md5转换用到的常量,算法本身规定的*/ #define S11 7 #define S12 12 #define S13 17 #define S14 22 #define S21 5 #define S22 9 #define S23 14 #define S24 20 #define S31 4 #define S32 11 #define S33 16 #define S34 23 #define S41 6 #define S42 10 #define S43 15 #define S44 21 static void MD5Transform(UINT4 [4], unsigned char [64]);static void Encode(unsigned char *, UINT4 *, unsigned int);static void Decode(UINT4 *, unsigned char *, unsigned int);/* 用于bits填充的缓冲区,为什么要64个字节呢?因为当欲加密的信息的bits数被512除其余数为448时,需要填充的bits的最大值为512=64*8。*/ static unsigned char PADDING[64] = { 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };/* 接下来的这几个宏定义是md5算法规定的,就是对信息进行md5加密都要做的运算。据说有经验的高手跟踪程序时根据这几个特殊的操作就可以断定是不是用的md5 */ /* F, G, H and I are basic MD5 functions.*/ #define F(x, y, z)(((x)&(y))|((~x)&(z)))#define G(x, y, z)(((x)&(z))|((y)&(~z)))#define H(x, y, z)((x)^(y)^(z))#define I(x, y, z)((y)^((x)|(~z)))/* ROTATE_LEFT rotates x left n bits.*/ #define ROTATE_LEFT(x, n)(((x)<<(n))|((x)>>(32-(n))))/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4.Rotation is separate from addition to prevent recomputation.*/ #define FF(a, b, c, d, x, s, ac){(a)+= F((b),(c),(d))+(x)+(UINT4)(ac);(a)= ROTATE_LEFT((a),(s));(a)+=(b);} #define GG(a, b, c, d, x, s, ac){(a)+= G((b),(c),(d))+(x)+(UINT4)(ac);(a)= ROTATE_LEFT((a),(s));(a)+=(b);} #define HH(a, b, c, d, x, s, ac){(a)+= H((b),(c),(d))+(x)+(UINT4)(ac);(a)= ROTATE_LEFT((a),(s));(a)+=(b);} #define II(a, b, c, d, x, s, ac){(a)+= I((b),(c),(d))+(x)+(UINT4)(ac);(a)= ROTATE_LEFT((a),(s));(a)+=(b);} /* MD5 initialization.Begins an MD5 operation, writing a new context.*/ /*初始化md5的结构*/ void MD5Init(MD5_CTX *context){ /*将当前的有效信息的长度设成0,这个很简单,还没有有效信息,长度当然是0了*/ context->count[0] = context->count[1] = 0;/* Load magic initialization constants.*/ /*初始化链接变量,算法要求这样,这个没法解释了*/ context->state[0] = 0x67452301;context->state[1] = 0xefcdab89;context->state[2] = 0x98badcfe;context->state[3] = 0x10325476;} /* MD5 block update operation.Continues an MD5 message-digest operation, processing another message block, and updating the context.*/ /*将与加密的信息传递给md5结构,可以多次调用 context:初始化过了的md5结构 input:欲加密的信息,可以任意长 inputLen:指定input的长度 */ void MD5Update(MD5_CTX *context,unsigned char * input,unsigned int inputLen){ unsigned int i, index, partLen;/* Compute number of bytes mod 64 */ /*计算已有信息的bits长度的字节数的模64, 64bytes=512bits。
用于判断已有信息加上当前传过来的信息的总长度能不能达到512bits,如果能够达到则对凑够的512bits进行一次处理*/ index =(unsigned int)((context->count[0] >> 3)& 0x3F);/* Update number of bits *//*更新已有信息的bits长度*/ if((context->count[0] +=((UINT4)inputLen << 3))<((UINT4)inputLen << 3))context->count[1]++;context->count[1] +=((UINT4)inputLen >> 29);/*计算已有的字节数长度还差多少字节可以 凑成64的整倍数*/ partLen = 64-index;/* Transform as many times as possible.*/ /*如果当前输入的字节数 大于 已有字节数长度补足64字节整倍数所差的字节数*/ if(inputLen >= partLen){ /*用当前输入的内容把context->buffer的内容补足512bits*/ R_memcpy((POINTER)&context->buffer[index],(POINTER)input, partLen);/*用基本函数对填充满的512bits(已经保存到context->buffer中)做一次转换,转换结果保存到context->state中*/ MD5Transform(context->state, context->buffer);/* 对当前输入的剩余字节做转换(如果剩余的字节<在输入的input缓冲区中>大于512bits的话),转换结果保存到context->state中 */ for(i = partLen;i + 63 < inputLen;i += 64)/*把i+63
context:你前面初始化并填入了信息的md5结构 */ void MD5Final(unsigned char digest[16],MD5_CTX *context){ unsigned char bits[8];unsigned int index, padLen;/* Save number of bits */ /*将要被转换的信息(所有的)的bits长度拷贝到bits中*/ Encode(bits, context->count, 8);/* Pad out to 56 mod 64.*/ /* 计算所有的bits长度的字节数的模64, 64bytes=512bits*/