单位接收函十篇

时间:2023-03-24 00:23:02

单位接收函

单位接收函篇1

江西师范大学:

贵校_________________________院_________届_________________专业毕业生____________________已被我单位录用接收,正试用考察。特此证明。

用人单位全称(盖章):

毕业生签名:

年 月 日

……………………………………………………………………………

用人单位接收函

江西师范大学:

贵校_________________________院_________届_________________专业毕业生____________________已被我单位录用接收,正试用考察。特此证明。

用人单位全称(盖章):

毕业生签名:

年 月 日

附:用人单位联系方式中属省属设区市属县(市、区)属县以下(含乡镇、村、居委会等)机关科研设计单位高等教育单位中等、初等教育单位

医疗卫生单位艰苦事业单位其它事业单位国有企业

单位接收函篇2

党组织关系接收函范文一

中国共产党党员组织关系接收函

党支部同意接受XXX同志,望 党支部给予配合,尽早提档为盼。

X年X月X日

党组织关系接收函范文二

关于接收党员的函 学校党委(或党总支、或支部): 同志系我单位职工(或公务员)请贵校党委转来该同志的党组织关系。 特此致函。 市党支部 年月日

党组织关系接收函范文三

中国共产党党员组织关系接收函:

同志系我单位职工,经其本人申请,同意接收其党员

组织关系

请将其组织关系转到 。

盖接收单位党组织公章

年 月 日

接收函简介:

接收函是人事关系转移的一种,计划经济制度时期极其重要的个人人事转移手续。计划经济时期,单位分有人事接收权单位和无人事接收权单位,只有有人事接收权的单位才能发接收函,无人事接收权单位不被允许发接收函,需要上级主管单位或者委托部门才能发函(一般只有党委机关、政府单位及事业单位和国有企业才有人事接收权)。

简言之,接收函即是新接收单位同意接收并将个人的隶属人事关系从原单位转入新单位的证明。但是,社会上对接收函有个普遍的误解,认为接收函即是调档函,而且如今社会上普遍以调档函统称一切档案转移手续。其实调档函和接收函是有出入的,接收函是已经同意接收个人人事的证明函,而调档函就不一样了,调档函有可能并未同意接收而先调档以待审批,核实,或审阅,待审核后合格方同意接收。举个最简单的例子,如今考公务员和研究生,研究生和公务员都发调档函,有些人就认为自己已经被单位录用或录取了,其实不一定,这个时候将个人档案先商调过去审核,如果有人政审或其他条件未通过仍有可能退回原单位,严格意义上说此时调档函只是一个商调函,当然如果审档后同意接收了也就成为接收函了。因此调档函和接收函有既定接收和未定接收(审档后确定接不接收)之分。经常接触可以发现目前很多单位发的调档函都叫商调函,考研和公务员录取也一般为调档函,很少直接发接收函的。

最后,对于大学毕业生来说,只有接收函才能办就业报到证。但是如今已经淡化这些概念了,基本上有调档函也能办理就业报到证了。

写作格式:

①标题

一般由发文机关、事由、文种或者事由、文种组成。一般发函为《关于**(事由)的函》;复函为《关于**(答复事项)的复函》。

单位接收函篇3

·催款函格式范文 ·委托函格式范文 ·确认函格式范文 ·承诺函 ·派遣函

某某学校:

经研究决定,_(聘、试、录)用贵校外语外贸系____专业学生___在我公司____部门任____。

某某单位(公章)

日期

单位联系人:

单位联系电话:

单位接收函篇4

商业公文函格式〔一)语气口语性

每一封商务信函的往来都是不同的企业之间或者企业领导者彼此之间的一种情感交流。人都是感性的,所以商务信函更多地体现了感性的一面。而不是人们想象的商务信函应该用一种特殊的生意腔,信函读起来使人感到非常热情、友好,就像朋友之间的谈话那样简单、自然、人性化。无论是歉意的道歉函,还是善意的劝说函,或者购买函,完全可以通过信函中的语气、语调来表现。

(二)内容直接性

企业每天都要阅读大量信函文件。商务信函不需要用华丽的词句。所以,商务信函要写得简明扼要,短小精悍,切中要点。用简洁朴实的语言来写信函,使信函读起来简单、清楚、容易理解。当涉及数据或者具体的信息时,如时间、地点、价格、货号,等等,要用语精确,使交流的内容更加清楚,这更有助于加快商务活动的进程。

(三)态度真诚性

商务信函要能够充分体现真诚、礼貌。不管说什么,都要带着诚意去说。把写好的商务信函拿起来读一遍,确保如果此时对方正在电话中与你通话,他一定能够感受到你的自然、真诚和礼貌。这里所说的礼貌,并不是简单用一些礼貌用语,而是体现了一种为他人考虑,多体谅对方心情和处境的态度。

(四)主旨单一性

商务信函具有纯粹的业务性,一般要求专文专事,内容集中单一,围绕公务,突出主旨。

(五)格式规范性

商务信函结构类似于一般的书信,有称呼、有正文、有署名。外贸商务函、电的写作则必须依照国际惯例,用英语或对方国家所使用的语言书写,在文法和书写格式上也要符合对方的语言规范和习惯。

(六)地位平等性

商务信函是两个平等法人之间的往来文书,反映双方平等、互惠互利的关系。商务信函的写作应相互尊重,以礼相待。

(七)要求时限性

商务信函是在商务活动的每个环节中形成的,每封信函都是一定时限内的双方意愿的明确表达。因此,接收对方的信函后必须及时回复。目前,信函的传递越来越多地使用图文传真、电子邮件等快速传递形式,以适应这一特点的需要。

商务信函一般由三部分组成:信头、正文、信尾。

(一)信头

信头即信函的开头,由发信人名称及地址、标题、函号、称谓、收信人地址和单位等组成。

1发信人名称及地址

发信人名称及地址一般写明发信人企业单位名称及详细地址。还包括电话号码、电报挂号、专用电码、电传、传真、网址等商务联系信息。

2.标题

作为商务信函,它与一般的普通信件不同,只要不是企业单位个人与个人之间的交流,商务信函一般可以有标题。标题位置在信文首页卜方,居中书写,其内容是标明事由。事由要求概括出函件的主旨、中心,使收信人通过标题就对信文的主要内容有大致的了解。常见的商务信函标题有以下两种形式:

(1)由事由加文种名称函构成,如关于要求承付打印机货款的函、推销函、订购函、索赔函等。

(2)先写事由二字,加冒号提示,然后直接标写该信函的内容,如事由:机动车索赔。

3函号

函号即编号,分为对方编号和己方编号。在外贸业务信函的信头上注明编号,可保证信函便于管理和查阅。

函号位置一般出现在标题右下方或信头的左上方。常见的有两种形式:一是仿效行政公文发文字号的格式,采用x函〔xxxx〕x号或(xxxx) 函第x号的形式;二是采用直接编号的形式,如第x号。

4称谓

称谓是对收信人或收信单位的称呼,一般写受文者的尊称,这是商务信函必须的一项。其位置一般在标题或函号的左下方,单独占行,顶格书写,后面用冒号。书写时有以下两种称谓:

(1)泛指尊称。尊敬的后加称谓并加冒号,如尊敬的先生、尊敬的女士等。尊称中可以使用职务,如尊敬的办公室主任、尊敬的财务部部长、 尊敬的销售部经理等。

(2)具体称谓。即具体指名道姓的尊称。在姓名后面加称谓语。这类称谓一般用于写信人与收信人彼此认识或者非常熟悉的情况。因为这种称谓能够体现写信人与收信人之间的情感与密切关系。称谓可用泛称中的先生、女士等,也可以使用职务,如尊敬的办公室石主任、尊敬的财务部张部长、尊敬的销售部王经理等。

5.收信人地址、单位

收信人地址、单位要写明收信人企业单位名称及详细地址。

(二)正文

正文是商务信函的主体,叙述商务往来联系的实质问题。正文写作要求内容单纯,一文一事,文字简明,事实有据,行文礼貌。

1问候语

问候语也即应酬语或客气语。开头的问候语是商务信函必不可少的,即发信人对收信人打招呼的礼貌问候语。一般用一两句尊敬的客气话表示,如您好,近来生意可好,效益颇高等。如果是初次联系,可使用久仰大名,未亲雅教等词语。如果是回函,可使用惠书敬悉,不胜感激等词语表示感谢来函。

2主体

主体是商务信函正文的核心内容,是发信人要说明的事项。不同的商务信函的内容是不同的。一般包括以下两个内容:

(l说明发函缘由。直截了当、简明扼要地说明发函的目的、根据、原因等内容;复函则要引叙对方来函要点,以示复函的针对性。

(2)说明发函事项。主体表达信函的中心内容,一般是根据发函缘由详细地陈述具体事项,或是针对所要商洽的问题或联系事项,阐明自己的意见。要求语气要平和,问题要明确,事实要清楚,表达要明白。如商洽函的正文主体包括商洽缘由、商洽内容、意愿要求三部分;询问函的正文主体包括询问缘由、询问事项两部分;答复函的正文主体包括答复缘由、答复内容两部分;商品报价函的正文主体包括产品的价格、结算方式、发货期、产品规格、可供数量、产品包装、运输方式等。

如果正文主体内容简单,逻辑上可采用篇、段合一式结构,如果正文主体内容较多,逻辑上可采用分段式结构。

3结尾语

正文结束以后,一般用精练的语言将主体所叙之事加以简单概括,并提出本函的有关要求,强调发函的日的。如请求函的结尾语是拜托之事,承望协助解决为盼,希望回函的结尾语是不吝赐函,静候佳音等。结尾语视发信人与收信人的关系以及信函的内容而定,要求恰当得体。

(三)信尾

信尾部分包括四部分内容。

1祝颂语

所有的商务信函都要写明祝颂语。祝颂语分为祝者自身的请候语和收信人的安好语两部分:

(1)请候语,在正文结束后空两格书写。常用的有敬祝、顺颂、恭祝

等。

(2)安好语,一定另起一行顶格书写,以表示对对方的尊重。常用的安好语有商棋、金安、生意兴隆等。

2签署

签署即发信人的署名或签名、用印。商务信函的署名可根据企业的要求或发信人的意见而定。有的企业署名以单位名称加盖印章的方式;有的企业要求发信人直接签名,以示对信函的内容负责。个人签名一定要由发信人亲手所签。

3日期

日期一般是发信具体时间。商务信函因为涉及商务业务往来,务必写明发信日期。一般采用以下三种形式:

(1)公文日期形式。即在信函签署下方用汉字小写写明发信日期,如xxxx年八月十八日。

(2)阿拉伯数字形式。即在信函签署下方用阿拉伯数字写明发信日期,如20xx 年8月18日。

(3)国际标准简写法形式。即在信函签署下方用阿拉伯数字标记年、月、日,在一位数的月、日前加0,如20xx年08月18日。

无论哪种写法,日期务必写全,以便存档备查。如20xx年08月08日,不能写成20xx年08月08日。

4附件

附件是随函附发的有关材料,如报价单、发票、确认书、单据等。如果需要标注附件的,在信函签署的下方可以标注附件。如果附件是两个以上的,要分别标注附件一、附件二等。

商业公文函范文道歉函

xx市兴达贸易有限公司:

贵公司20xx年x月x日函收悉。函中所诉20xx年1月7日《购买电脑桌合同》中,所收的35套黄花牌电脑桌部分出现接口破裂一事,深表歉意,此事已引起我方高度重视,现已就此事进行调查。

经有关邵门查实:我厂生产的xxxx型黄花牌电脑桌,出厂时,经质检部门检验全部为优质产品。函中所提的部分电脑桌出现接口破裂,是由于我方工人在出仓时搬运不懊造成的。衬贵公司的损失,我公司再次深表歉意,并请贵公司尽快提供电脑桌受损的详细数字及破损程度,以及公证人证明和检验证明书,我介司将以最快的速度按实际损失给予无条件赔偿。

对此,我们将引以为戒,查找工作中存在的问题和不足,制仃改正措施杜绝此类事件的发生。

希望能够得到责公司谅解,继续保持良好的贸易往来关系。

候复

单位接收函篇5

________学院:

本单位同意接收贵院____级____________专业________学生在____________岗位实习,将选派有关业务人员进行全程业务指导并对该生进行考核管理。

实习起止时间:20____年____月____日至20____年____月____日止。

实习单位地址:___________________

实习单位电话:___________________

____年____月____日

(接收单位公章)

【20xx应届毕业生实习接收函范文二】

_______学院:

经单位研究,决定接收贵院____届________ 专业毕业生________ 在我单位实习,实习内容为:________________;实习时间为:____________________。

特此函达!

附:1、单位通信地址:________________

2、单位联系方式:________________

3、实习生联系方式:________________

(单位公章)

____年____月____日

【20xx应届毕业生实习接收函范文三】

________大学(学院):

我单位(公司)愿意接收贵校____学院(系)________年级____班____同学到我单位进行毕业(生产)实习,实习时间从____年____月________日到____年____月日。

学生实习期间我们将严格管理,精心指导!学生人身安全由学生本人承担。

特此证明!

家长签字:________________

学生签字:________________

单位接收函篇6

1、老单位解除劳动合同,把解除证明拿到,调档用。

2、新单位出调档函或者接收函,一定写明已在此工作,需要转移人事档案或户口,写清楚转移地址。如果单位没有人事权,需要去单位依托的人事局把接收函盖章子,需要携带单位接收函和合同,有的还需要介绍信。

3、如果单位有人事权的话带调档函和解除劳动合同证明就可以去老单位提档了。

单位接收函篇7

关键词:往来账;注意事项;审计方法

往来账主要包括应收账款、预付账款、其他应收款、应付账款、其他应付款等科目,在审计工作中,因往来账的许多经济业务并不直接表现为收入、成本等敏感项目,且大多科目明细繁多、发生频繁、函证也比较困难,如果审计人员不认真分析判断,或仅仅用少量抽取凭证的审计方法,往往会错失很多发现问题的机会,在此,笔者结合自己的部分审计案例,浅谈一下关于往来账审计的注意事项和方法。

根据审计目的的不同,审计人员在审阅被审计单位的基础资料后,应详细了解该单位的资金运营、经营范围、主要的客户对象等情况,在了解情况的过程中应逐步明确自己的重点审计方向。在对往来账进行审计时应对企业的往来账的二级科目及金额进行分析判断,往来账的发生大多与资金密切相关,一个管理成熟的企业通常都会制定一套较为完善的资金审批和内控制度,而这些制度也是对往来账审计的主要依据之一,从这种意义上讲,往来账的审计更强调符合性测试,在进行实质性测试的同时进行符合性测试,往往能够发现一些隐藏在往来账中的问题。

一、预付账款的审查

预付账款的审计中应当关注有关的购货合同是否真实、合法,对方单位是否真实存在,以确定企业是否存在虚列预付账款或隐瞒收入等问题。曾经做过的审计案例中有一个案例是通过预付账款发现了问题,一个大型的建筑企业为了提高自己的建筑资质,需要增资,按照审计准则,增资之前要对企业的上期出资的到位、使用情况进行审计,在对其进行审计前,我们查阅了该公司几年来的报表数据,并详细地询问该单位的主要经营项目、收入、利润等概况,从报表上看预付账款科目每年的余额都较大,建筑企业虽然有些工程款需要预付,但结合该公司每年的工程结算情况分析该项科目余额异常,于是抽查了首次出资时的大量预付账款的凭证和资金的收付凭证,发现在出资的当月,货币资金数额很大,其后逐渐减少,同时预付账款逐步增大,预付账款后附一些施工合同大部分比较简易,同时大部分都是个人和该公司签订的合同,且在后期几年几家单位和个人的预付账款都变化不大,由此判断出该单位抽逃注册资本的数额,在将几家异常的单位和个人的预付账款整理后,我们要求去这些单位和个人处询证,但企业却提供不出详细地地址,最后企业的财务人员承认预付账款的抽逃资金部分。

二、应收账款的审查。

1.了解并测试被审单位应收账款的内部控制

应收账款的控制测试主要围绕应收账款的不相容职务分离、正确的授权审批、充分的凭证和记录、定期寄送对账单以及内部核查等来实施。注册会计师在审计时应重点关注如下几个方面的控制测试及评价:(1)应收账款的记录是否以经销售部门核准的销售发票和发运凭证为依据;(2)企业是否根据应收账款明细账的余额定期编制客户对账单并与客户对账,编表与记录、调整应收账款的不相容职务是否得到了分离;(3)应收账款的总账和明细账户登记是否由不同的人员根据汇总的记账凭证和各种原始凭证、记账凭证分别登记,应收账款总账和明细账户的余额是否由独立于记录应收账款的其他人员定期核查;(4)测试企业的信用部门是否定期编制应收账款分析表并标出虚列的应收账款或不能收回的应收账款;(5)测试企业对于账龄较长的客户的应收账款是否指定专人进行催收以保证债权得以收回,应收账款的各种贷项调整(包括坏账冲销、折扣与折让的给予)是否经过专人授权审批;(6)测试企业是否建立坏账准备金制度。

2.有选择地对应收账款进行函证

注册会计师应亲自进行函证的寄发以保证寄发过程中出现的舞弊风险,在确定函证范围时,应对总体以一定的形式分层,以便对应收账款金额的主体部分进行函证。一般情况下,注册会计师应选择以下项目作为函证对象,大额或账龄较长的项目;与债务人发生纠纷的项目;关联方项目;交易频繁但期末余额较小甚至为零的项目;非正常项目。

在函证时间的选择上,函证最好以资产负债表日为截止日,充分考虑对方复函的时间,在期后适当时间内实施函证,尽可能做到在审计工作结束前取得函证的全部资料。如果被审单位的固有风险和控制风险评估为低水平,注册会计师也可选择资产负债表日前适当日期为截止日实施函证,并对所函证项目自该截止日期至资产负债表日发生的变动实施实质性测试程序。函证方式的选择分为积极式函证和消极式函证,注册会计师在实务中为了提高效率,一般将两种函证方式结合使用。对于大金额应收账款采用积极式函证,对于小金额应收账款采用消极式函证。同时,注册会计师应该直接控制询证函的发送和回收,通过函证结果汇总表来控制函证。

最后,注册会计师还要对函证结果及应收账款余额进行分析,重点关注回函结果表明存在审计差异的情况,合理估算应收账款总额中存在的累积差错的多少,估计未被选中进行函证的应收账款的累积差错是多少,将函证的过程和情况记录在工作底稿中。具体可以分为如下两种情况:(1)收到回函时,如果回函结果与账面一致,注册会计师一般可以初步确认此笔应收账款的真实性和准确性;如果回函的结果小于被审单位的账面价值,注册会计师应重点关注被审单位是否存在扩大应收账款,虚增销售收入和利润的嫌疑并调查发函之后收款的情况;如果回函结果大于被审单位账面价值,注册会计师应关注被审单位是否存在利用应收账款隐瞒利润的舞弊行为。(2)对于采用积极式函证而没有收到回函时,如果是因为对方已经付款,应审查发函后的企业收款情况;如果存在虚假确认应收账款的嫌疑,应通过调查交易的相关合同、销售发票、发运凭证等予以核实;如果是发函途中丢失,可以通过邮局进行查询。在分析应收账款回函时,注册会计师还应考虑时间因素、成本效益因素以及应收账款的重要性水平,决定是否进一步扩大函证范围和追加实质性测试程序。

三、其他应收款、其他应付款的审查

其他应收款、其他应付款大部分为非主营业务形成的往来账,其中大部为个人往来,有些审计人员对此往往容易忽略其重要性而减少抽查平整的样本,致使在其中的问题也被忽略。对于其他应收款的审计应关注企业的对其他应收款的审计中应当关注企业内部控制制度,另外是否建立了定期清理的制度,是否执行。同时还应注意调查对方单位是否真实存在,如果是押金,应调查对方单位是否以将押金退回,如果已经退回,单位就有可能存在私设“小金库”的现象,应当仔细深入地调查。另外还应当关注企业是否有长期挂账的单位借款,对方单位是否真实存在,应询问有关人员,查清原因,从而进一步搞清企业是否存在舞弊行为。在此仅谈一例关于其他应付款的审计案例。在接受一个上级主管部门委托后对其下属的单位进行经济效益审计时,其中一家下属单位为大型的兼住宿、餐饮、娱乐于一体的酒店,在审计其往来账时发现该单位其他应付款数额变动较大,且在审计基准日其金额也很大,于是增加抽查该科目的凭证数量,在抽查中我们发现有很多不正规的自制原始收据,有的收据摘要里注明是押金,但起数额却很大,且有部分科目的数额在有规律的增加,根据审计经验。初步判断为账外收入,在把判断异常的凭证整理出来之后,该企业的财务负责人承认这部分异常的数额为该单位出租房屋收入。

总之,往来账的审计对整个审计工作非常重要,工作量也非常大,但由于上述几方面的问题,我们应当加强对往来账的审查力度,特别注意长期不发生增减变化的呆滞往来账项和偶发性大额往来账项,重点关注它的形成、变化有可能带有的违规、违法性质,也有可能带来一定的经营风险,如隐瞒收入、少摊销成本费用、侵吞公款、巨额坏账、账外资金等,在审计中对符合性测试和实质性测试相结合,深入细致地开展审计工作,这样才能发现问题,更好地完成审计任务。

参考文献:

[1]周 琦 何平均:讲究审计技巧 提高内部审计工作效率[j]事业财会, 2004,(03).

[2]徐美光:其他往来款项审计浅议[j]. 浙江统计, 2006, (02).

[3]唐存莲:往来账管理中常见的问题及对策[j]. 会计之友(下), 2007, (03).

单位接收函篇8

尊敬的****医学院的领导、老师们:

****医学院的领导 您好! 您好! 本单位同意接受贵校**级**专业**班的学生***从事实习工作。 ** 专业**班的学生***从事实习工作 实习时间为 20xx 年 x月 23 日到 20xx 年 x月x日。 实习期间,我院会严格贵校学生遵守实习医院各项规章制度,认 真履行请假制度, 积极参加单位组织的政治学习与学术活动,促成实习任务!

医院实习接收函二:

湖北民族学院化学与环境工程学院: 经我单位研究决定,同意接收贵学校 化学与环境工程学院 院(系) 08 (级) 化学工程与工艺 (专业) 0408402 (班) 学生 来我医院实习, 实习时间为 20xx年 月至 20xx 年月,特予通知。

实习单位___________________(盖章) 年 月 日

医院实习接收函三:

单位接收函篇9

随着网络的迅速发展,人们交流的方式也受到网络的巨大影响。越来越多的人们选择了网络聊天,通常聊天程序的主要系统主要包括以下四个模块:聊天程序模块、保密性模块、完整性模块、防抵赖模块。详细介绍了聊天程序的具体模块实现过程。

关键词:

聊天程序;模块;实现

中图分类号:TB

文献标识码:A

文章编号:16723198(2013)02018602

0引言

VC++6.0为Windows环境下的网络考法提供了强大的工具,而其中的Csocket控件就是其中之一。某聊天程序就是利用Csocket控件实现聊天程序的,它使得程序的实现变得相对简单。通常聊天程序分为四大模块:聊天工具模块、保密性模块、完整性模块和防抵赖模块,以下详细介绍了这四大模块的具体实现过程。

1聊天工具模块的实现

某聊天程序是建立在UDP的基础之上的,完成与远程计算机的通信,它通过与现在内部封装了所有的技术细节,并提供访问UDP网络服务的方便途径。只需要设置控件的属性并调用其方法就可以轻易实现与远程计算机的连接,并且可以实现双向的交换数据,而且不需要了解UDP的细节或者调用低级的Winsock API。

此程序运行过程如下:在进行聊天的数据传输前(也就是广播),服务期先运行,等待客户端连接。客户端运行后首先要连接到服务器,输入服务器的IP地址和连接的端口号(本程序默认为:4000)后开始连接。如成功会响应连接成功,反之响应连接失败,而后客户端皆可以后到广播的消息了。在服务器一端,没有以客户连接服务器,服务器上就会监听即提示相关信息,议题是由客户连接。服务器输入要广播的内容后就可以发送了,所有连接到服务器上的客户都会接收到信息。下面分别对于各个类、成员函数和响应函数进行介绍。

CMessag类主要是用于封装消息的,目的是重载Serialize()函数对CArchive对象进行串行化,CArchive对象存储着接收到和将要发送的数据,因此,CMessag类也就是对聊天内容进行封装的,而串行化便于接受和发送的。

自定义类CserverSocket,在ClassView视图中右键单击“ChatDemo Classes”,选择“New Class”,弹出的“New Class”对话框。“Class Type”为MFC class,“Name”为CServerSocket,“Base Class”为CSocket,单击“OK”完成添加。CServerSocket类主要是用于重载CSocket类中OnAccept函数,负责接受客户端的连接。在此函数调用主对话框类的ProcessPendingAccpt函数处理连接请求。

在主对话框类中的几个主要的成员函数:

ProcessPendingAccept()函数:在CSocket子类的OnReceive函数中被调用,起作用是对接收到的对方的连接请求进行处理;

ClearContent()函数:用于清空变量,包括Socket对象和聊天数据;

CloseSessionSocket()函数:用于关闭服务器和客户端会话的Socket连接。

控件的消息响应函数。

2保密性模块的实现

DES程序是通过宏定义可选择小代码模式后者选择大打代码模式。在大代码模式下,程序定义了多个表,从而使DES算法中的很多运算都可以通过查表实现,速度较快,但要求有较多的存储空间;在小代码模式下,可以不查表,从而节省了存储空间,但是速度较慢。DES算法主要是在工程中yxyDES.h和yxyDES.cpp两个文件,下面主要简单介绍下其主要的几个函数。

加密解密时主要用到下面5个函数:

int des_setup(congest unsight char *key,int keylen,int num_rounds,des_key *skey)

函数名:密钥生成函数

功能描述:当密钥生成时,返回值为CRYPT_OK(0),结果保留在skey指向的结构体。结构体中的ck存储加密时用的子密钥,dk_存储解密时用的子密钥。结构体中用的2个32位整数来存储一轮48位密钥,每一个32位整数被分成4个8位,每个8位的第6位存储密钥。如果把48位密钥分成8组,则这8组按存储的顺序从高到低为1、3、5、7、2、4、6、8。这样做是为了加密时可以把扩展和查表运算结合进行。

void des_ecb_ebcrypt(const unsigned char *pt,unsight char *ct,des_key *key)

函数名:加密函数。

功能描述:主要是是对明文进行加密,加密成功时,返回CRYPT_OK。

Void des_ecb_decrypt(const unsigned char *ct,unsigned char *pt,des_key *key)

函数名:解密函数。

功能描述:主要是对密文进行解密,解密成功时,返回CRYPT_OK。

int des_test(void)

函数名:测试函数。

功能描述:这个函数用来对加密算法进行测试。函数体内部定义了对应的明文和密文数组,并且进行了多轮加密和解密。

int des_keysize(int *desired_keysize)

函数名:密钥长度检验函数。

功能描述:初始化密钥的长度,对其进行检验。当密钥长度小于密钥长度时,返回值CRYPT_INVALID_KEYSIZE,否则,desired_keysize指向的变量被置为8。

3完整性模块的实现

在完整性模块中,主要是采用的MD5加密算法,主要是工程文件中的MD5.h和MD5.h两个文件中。下面简单的介绍用到的结构体变量和函数程序中用到的结构体变量和程序用到的函数如下:

void md5_init(md5_state *md)

函数名:初始化函数

功能描述:主要是初始化md5算法,在程序中使用的“12345678”初试化的。

int md5_process(md5_state *md,const unsigned char *buf,unsigned long len)

函数名:处理函数

功能描述:这个函数对待处理的信息以512位为单位进行压缩,不足的部分存储在结构体的buf中,并且len来标识信息的末尾,这样下次调用时会接着上一次的结果进行。

int md5_done(md5_state *md,unsigned char *Hash)

函数名:完成函数

功能描述:这个函数对未完成的信息先进行padding操作,然后处理,并把最终结果存在Hash指向的缓冲区中。

int md5_test(void)

函数名:测试函数

功能描述:这个函数对上面的3个函数进行测试。函数内部定义了一组信息和Hash结果一一对应的数组。通过调用上面的3个函数,并把结果和正确的结果相比较,可以判断程序正确与否,这个函数主要在模块的调试中很重要。

4防抵赖模块的实现

主要是利用数字签名技术实现的,在这里主要是介绍RSA算法中相关函数以及使用到的类,完成RSA算法主要是工程文件的bigint.h和rsa.h两个文件实现的。主要用的函数如下:

bool small_prime_test(bigint)

函数名:2000以内小素数检验

功能描述:用于判断是否是2000以内的小素数。

bigint get_prime(void)

函数名:Rabin-Miller素性检验

功能描述:主要是检测随机生成的数是否满足,且检验次数达到ROUND次才算通过检验。

bigint get_random()

函数名:获得随机数

功能描述:主要是生成p,q,e时调用,随机生成大素数。

bigint qmod(bigint a,bigint b,bigint c)

函数名:快速模乘

功能描述:主要是在加密和解密时调用,计算一个数模乘。

void Encryption(bigint e,bigint N)

函数名:加密函数

功能描述:完成对明文M的加密,生成密文C,并且将密文存在miwen.txt文档中。

void Decryption(bigint d,bigint N)

函数名:解密函数

功能描述:完成对密文C的解密,生成明文M,并且将明文存在文档ingwen.txt中。

5结束语

本文主要就具体的程序的设计进行的实现,包括相应的结构体和函数等。然而,在实际程序的设计中很多的工程文件,涉及很多的功能函数和很多的结构体以及聊天程序的个性化设计。

参考文献

[1]刘晓敏.厦门卫视非编网络安全设计与实现[D].上海:上海交通大学,2008.

单位接收函篇10

关键词:CAN通信;波特率;C#

中图分类号:TP311.1 文献标识码:A 文章编号:1674-7712 (2013) 10-0027-01

一、CAN通信简介

CAN是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率、抗电磁干扰性,而且要能够检测出总线的任何错误。当信号传输距离达10km时,CAN仍可提供高达50kbps的数据传输速率。CAN具有十分优越的特点:(1)较低的成本与极高的总线利用率;(2)数据传输距离可长达10km,传输速率可高达1Mbps[7];(3)可靠的错误处理和检错机制,发送的信息遭到破坏后可自动重发;(4)节点在错误严重的情况下具有自动退出总线的功能;(5)报文不包含源地址或目标地址,仅用标志符来指示功能信息和优先级信息。基于以上特点,CAN通讯越来越多的应用于工业控制上,尤其是电动汽车的监管上。

二、常用的API函数

实现CAN通讯首先要对CAN通讯卡的API函数进行了解,不同公司的CAN通信卡API不尽相同,以ZLG的USBCAN-2A为例,阐述在CAN通讯的实现与应用中,几个重要的API函数:(1)"VCI_OpenDevice":该函数是用来创建一组设备,如CAN通信卡。该函数有两个参数,设备类型和设备索引号;(2)"VCI_CloseDevice":该函数是用来关闭设备,即与设备断开。(3)"VCI_InitCAN":该函数是用来初始化CAN通信卡。包括四个参数,设备类型、设备索引号、波特率和第几路CAN;(4)"VCI_StartCAN":该函数是用来启动CAN控制器。包括三个参数,设备类型、设备索引号和第几路CAN;(5)"VCI_ResetCAN":该函数是用来复位设备,进而系统重新初始化。包括三个参数,设备类型、设备索引号和第几路CAN;(6)"VCI_Transmit":该函数是用来发送一帧或一组CAN信息。包括五个参数,设备类型、设备索引号、需要发送的数据、需要发送的数据长度和第几路CAN;(7)"VCI_Receive":该函数是用来接收一帧或一组CAN信息。包括五个参数,设备类型、设备索引号、需要接收的数据、每次接收的数据长度、每次接收数据的时间和第几路CAN。

在创建一个新项目的时候,我们首先要初始化API函数,以"VCI_OpenDevice"为例,C#初始化API函数代码如下:

[DllImport("ControlCAN.dll",EntryPoint ="VCI_OpenDevice",CharSet=CharSet.Ansi,CallingConvention = CallingConvention.StdCall)]

public static extern uint VCI_OpenDevice(uint DeviceType,uint DeviceInd,uint Reserved);

然后我们给他做个封装:

public bool OpenDevice()

{return VCI_OpenDevice(CommunicationControler.deviceType,

CommunicationControler.deviceIndex,CommunicationControler.deviceReserved) == 1 ? true : false;}

添加个类名ControlCAN,这样在应用时可以直接调用了,例如打开设备的代码为:

ControlCAN.OpenDevice();

三、初始化CAN并打开CAN卡

CAN的主要参数有波特率、滤波方式、工作方式、屏蔽码、验收码,我们把它们封装在InitDevice中,代码如下:

public bool InitDevice(String CheckCode,String MaskCode,String FilterMode,String WorkMode,String BraudRate)

{VCI_INIT_CONFIG InitConfig = new VCI_INIT_CONFIG();

InitConfig.AccCode=Convert.ToUInt32("0x"+CheckCode,16);

InitConfig.AccMask=Convert.ToUInt32("0x"+MaskCode,16);

InitConfig.Filter=Convert.ToByte(FilterMode=="双滤波"?0:1);

InitConfig.Mode=Convert.ToByte(WorkMode=="正常模式"?0:1);

switch(BraudRate)

{case "100KBPS":

InitConfig.Timing0=0x04;

InitConfig.Timing1=0x1C;

break;

return VCI_InitCAN(ControlCAN.deviceType,ControlCAN.deviceIndex,ControlCAN.deviceNumber,ref InitConfig)==1?true:false;}}

在初始化CAN之前首先要打开设备,然后初始化CAN的代码为InitDevice(“00000000”,“FFFFFFFFF”,“双滤波”,“正常模式”,“9600”);初始化完成后,打开CAN卡,代码为:

if(ControlCAN.OpenDevice()==true)

{if(ControlCAN.InitDevice()==true)

{if ControlCAN(.Start()==true)

{Text="CAN卡状态:启动成功!";}}}

四、数据的接收与发送

CAN通信的数据主要包括参数有:ID,Data.Length,Data,当发送数据时,我们首先要定义好数据的ID、数据长度Data.Length、数据Data再进行发送ControlCAN.Transmit (frameInfo)。主要代码为:

private static void Transmit(VCI_CAN_OBJ[]frameInfo)

{uint len=VCI_Transmit(ControlCAN.deviceType,ControlCAN.deviceIndex,ControlCAN.deviceNumber,ref frameInfo[0],(uint)frameInfo.Length);

if(len==frameInfo.Length)

{CanBoardWriteResult(CanOperationDescription+"成功.");}}

数据接收是CAN通信中最为重要的环节,如果接收不及时和接收错误则会产生致命的问题。接收数据主要代码为:

public void Receive()

{recevieLen =VCI_Receive(ControlCAN.deviceType,ControlCAN.deviceIndex,ControlCAN.deviceNumber,ref frameInfos[0],1,200);…}

对接收到的数据放入RecivedData函数进行处理。

五、关闭CAN

当使用CAN完毕后,关闭CAN并关闭设备,该函数为:ControlCAN.CloseDevice()。

通过以上三个步骤,就可以实现最简单的CAN通信。