ROB: Dia duit, Tá mé Rob, agus a ligean ar dhéanamh amach an clár Vigenere. Is é sin an chéad rud is gá dúinn a dhéanamh a dhéanamh cinnte an t-úsáideoir isteach an méid súil againn iad a ag an líne Ordaithe. Mar sin, más rud é nach bhfuil argc 2 go ciallaíonn ceachtar Ní raibh an t-úsáideoir dul isteach ar an teaghrán againn ag iarraidh a bheith ag baint úsáide mar ár encrypting teaghrán, nó iad isteach rudaí iomarca. Agus níl a fhios againn cad atá le déanamh leis na rudaí eile. Mar sin, inis dúinn iad cad iad Ba chóir a chuaigh isteach. Agus muid ar ais. Anois, ag glacadh leis go raibh argc 2, is féidir linn leanúint ar aghaidh leis an gcuid eile den chlár. Ailias muid an t-ainm ARGV [1] isteach an eochairfhocal athróg. Mar sin, nach bhfuil againn a úsáid a bhaint as an t-ainm ARGV [1] ar fud an chuid eile den chlár. Agus b'fhéidir go mbainfidh linn dearmad a dhéanamh ar cad ciallaíonn sin agus mar sin de. Tá Eochairfhocal ainm i bhfad níos deise. Agus beidh muid ag grab láithreach an fad ár n-eochairfhocal ceart anseo. OK, mar sin anois ba mhaith linn a sheiceáil go Is é ár n-eochairfhocal i ndáiríre bailí. An eochairfhocal a úsáidimid chun teaghráin chriptiú Ba chóir a bheith díreach aibítre carachtair. Má tháinig an t-úsáideoir neamh-aibítre carachtair, ba chóir dúinn a rá, eochairfhocal Ní mór iontu ach A trí Z agus ansin ar ais. Mar sin, seo do béim arís lúb thar gach carachtair ar ár eochairfhocal, seiceáil más rud é nach bhfuil ceann aibítre ansin ní mór dúinn a phriontáil rabhadh. Anois, nuair a fhaigheann muid go dtí an bpointe seo, tá a fhios againn go gcaithfidh an teaghrán a bheith ceart. Caithfidh an eochairfhocal a bheith ceart. Agus anois is gá dúinn a fháil ar an teachtaireacht ó an t-úsáideoir sin ar mian leo linn a chriptiú leis an eochair frása. Mar sin, a fháil go teachtaireacht, ní mór dúinn a dhéanamh agus lúb go bhfuil dul chun a fháil go leanúnach ar shraith ón úsáideoir go dtí go dtéann siad isteach teaghrán bailí. Ag leanúint ar aghaidh, a fheicimid anseo athróg, slánuimhir nun_letters_seen. Beidh muid a fheiceáil cén fáth gá dúinn go sa dara. Ach tá sé seo le haghaidh lúb ag dul a iterate ó cothrom i 0 go léir ar an mbealach suas go dtí mé ionann n, rud a chiallaíonn táimid ag iterating thar gach is féidir carachtair inár teachtaireacht. Mar ba mhaith linn a chriptiú go léir na carachtair in ár teachtaireacht. Mar sin, a dhéanann muid faoi deara más rud é (isalphamessage [I], toisc nach bhfuil muid ag iarraidh a chriptiú carachtair nach bhfuil aibítre. Má tá siombailí, spásanna, nó uimhreacha, ní féidir linn ag iarraidh a chriptiú sin. Anois, ag glacadh leis go bhfuil sé aibítre, ba mhaith linn an chéad chun an figiúr amach cad againn Ba mhaith iarbhír a chriptiú an teachtaireacht baint úsáide as. Mar sin, cad is féidir liom a rá le sin? A ligean ar glacadh leis go bhfuil an abairt eochair bhí an t-úsáideoir isteach abc. Sin cad tá muid ag baint úsáide as a chriptiú. Anois, naively, is dóigh linn go Ciallaíonn sé sin go ba mhaith linn a chriptiú an chéad charachtar ár n-teachtaireacht ag 0, ós rud é mhodh rothlach an carachtar 0. Is mian linn a chriptiú an dara carachtar ag 1, tríú carachtar ag 2, an ceathrú charachtar ag 0, an cúigiú ag 1, an séú ag 2, agus mar sin de. Ach cuimhnigh, gur mhaith linn a skip spásanna agus siombailí agus uimhreacha. Ciallaíonn sé seo má bhí an t-úsáideoir isteach Dia duit ar domhan mar an teachtaireacht gur mian leo a chriptiú, ansin ba mhaith linn a chriptiú an h faoi 0 a fhreagraíonn do na le, an e ag 1, an l ag 2, an l ag 0, o faoin 1. Is mian linn a skip an spás, criptithe w 2, o ag 0, 1, 2, 0. Mar sin, faoi deara, más rud é nach raibh ndearna muid an spás, ansin ba mhaith linn a bheith criptithe w le 0 agus dar críoch suas le an teaghrán mícheart. OK, is é seo an méid is gá dúinn an athróg num_letters_seen do. Má bhí muid ag dul díreach a chriptiú ag baint úsáide as an modh seo, nach skip siombailí, spásanna, agus uimhreacha, ansin dúinn d'fhéadfaí a úsáid ach an athróg i mar cad chun innéacs isteach inár frása eochair leis. Ní mór dúinn num_letters_seen a úsáid a choinneáil rian ar an áit iarbhír sa frása eochair gur mhaith linn a innéacs. Mar sin anseo, má tá an eochairfhocal atá againn, más rud é num_letter_seen keyword_length mod, mar sin cén fáth nach gá dúinn a mod de réir faid eochairfhocal? Bhuel, Dia duit ar domhan a bhí dea-shampla. Má bhí an eochairfhocal abc, ansin is gá dúinn a chriptiú go leanúnach ag ansin b ansin c, ansin wrap timpeall ar ais, a, b, c, a, b, c. Mar sin, ní mór dúinn a mod de réir faid eochairfhocal d'fhonn a wrap timpeall ar ais. Mar sin, má tá an litir chás uachtair, ansin ba mhaith linn a chriptiú ag an seasamh na litreach in aibítir, a fháil againn ag díreach a dhealú amach caipitil A. Agus mar an gcéanna, do litreacha CásÍochtair, táimid ag Is féidir a fháil ar an eochair gur mhaith linn ag a dhealú amach litreacha beaga le. Mar sin, beag beann ar cibé an litir san abairt eochair bhí chaipiteal nó litir litreacha beaga, táimid ag dul go dtí chriptiú ag an méid céanna. Anois go bhfuil muid ár eochair, a fheicimid anseo, más rud é go bhfuil an teachtaireacht i ar chás uachtair carachtar, ansin ba mhaith linn a ríomh seasamh in aibítir na carachtar, a chur ar ár eochair chun é, wrap ar ais timpeall ionas go má chuaigh muid anuas z théann muid ar ais go dtí a, b, c, agus mar sin de. Ansin, ar deireadh, cuir ar ais ar chaipiteal A. Mar sin, táimid ag aistriú ar ais isteach sa [? Ascii?] réimse na carachtair in ionad an seasamh uimhriúil in aibítir de na carachtair. Agus a dhéanann muid an rud céanna le haghaidh carachtair cás íochtair. Ach amháin ba mhaith linn a dhealú amach CásÍochtair a agus é a chur ar ais ar an Chuige sin, an cás íochtair go. Fógra go bhfuil num_letter_seen ach incrimintithe má bhí mé teachtaireacht aibítre. Seo é an chaoi againn skip spásanna, siombailí, agus uimhreacha i ár frása eochair, ós rud é Is num_letter_seen cad tá muid ag baint úsáide a innéacs eochairfhocal isteach inár. Ar deireadh, sa deireadh, anois teachtaireacht sin Tá mé ag criptithe, táimid ag a phriontáil amach teachtaireacht i. Agus sin é. Is é mo ainm Rob. Agus is é seo Vigenere. [Seinm ceoil]