آشنایی با رمزنـگــاری در پــرل

قصد دارم در مورد رمز نگاری در پرل مطلبی بنویسم.بنده از رمز نگاری یک رشته شروع میکنم و مبحث رو در رمزنگاری فایل ها اعم از باینری و متنی به پایان می رسونم.

رمزگذاری عملیاتی است که طی آن اطلاعات اولیه (که به آن متن آشکار گفته می‌شود) با استفاده از یک الگوریتم (که الگوریتم رمز نامیده می‌شود) و یک کمیت محرمانه (که به آن کلید رمز گفته می‌شود) به متن غیر قابل فهم دیگری (که به آن متن رمز گفته می‌شود) تبدیل می‌شود به نحوی که بدون دسترسی به کلید رمز، دستیابی به اطلاعات اولیه از روی متن رمز شده غیرممکن باشد.
به عملیات معکوس رمزگذاری، رمزگشایی گفته می‌شود که به معنای بازیابی متن آشکار با دانستن و استفاده از کلید رمز می‌باشد. اگر بازیابی متن آشکار بدون دانستن کلید رمز انجام گیرد، به آن تجزیه و تحلیل رمز گفته می‌شود. امروزه مسائل مربوط به رمزگذاری توسعهٔ زیادی یافته است و در حوزهٔ دانش رمزنگاری مورد بررسی قرار می‌گیرد.
استفاده از عملیات رمزگذاری دارای سابقهٔ چند هزار ساله است و مدت زیادی است که توسط دولت‌ها و سیستم‌های نظامی برای رد و بدل اطلاعات به صورت امن مورد بهره‌برداری قرار گرفته است. اما امروزه با هدف محافظت از اطلاعات در بسیاری از کاربردها و سیستم‌های مدرن انسانی مانند موارد زیر نیز به کار گرفته می‌شود:
ارتباطات امن در شبکه‌های رایانه‌ای
سیستم‌های تلفن همراه و ماهواره‌ای
انواع سیستم‌های بی‌سیم
دستگاه‌های خودپرداز بانک‌ها
انواع سیستم‌های تجاری و مالی
مدیریت حقوق دیجیتالی

و رمزنگاری برنامه های آلوده به بدافزار


ماژولهای اختصاصی زیادی در پرل وجود دارند که هر کدام در جهت نیاز کاربران در یک حوزه خاص نوشته شدند.کافی عبارت Crypt- رو در ppm یا cpan سرچ کنیم.

برای شروع من با نحوه رمزنگاری یک رشته شروع میکنم رشته ای که رمز می شه با استفاده از روش رمزنگاری base64 می باشد.

اطلاعات بیشتر در مورد Base64 




ماژول Base64 دارای 2 متد و یک برای رمزنگاری encode و دیگری برای رمز گشایی decode .

اگر تمایل دارید که از سابروتین برای رمز نگاری استفاده نکنید می تونید از این روش استفاده کنید:


این مبحث ادامه دارد...



پرل به عنوان یک زبان چسبنده

هرجا که ویکی و توضیحی در مورد پرل داده میشه عموماً به پارسی , این نکته رو یا فراموش می کنند یا اینکه کمرنگ بیان میشه منظورم ویژگی Glue Language .
پرل به عنوان یک زبان چسبنده (Glue Language)
پرل به عنوان یک زبان چسبنده می تواند در زبان های دیگر مورد استفاده قرار گیرد . یکی از جالبترین نکات یک برنامه مکمل پرل به نام VisualPerl هست که به بسته NET. مایکروسافت میچسبد و شما در کنار ASP.NET میتونید با پرل نیز یرنامه نویسی کنید. به طور مثال می توانید در برنامه های .NET از پرل برای پردازش متن و یا هر چیز دیگری استفاده کنید این قابلیت تنها به .NET محدود نمیشود و پرل را می توان در دیگر زبان های برنامه نویسی بدون در نظر گرفتن پلتفرم ان استفاده کنید . مثل java TCL و...
(ویکی پدیا)

بعضا کاربرانی رو دیدم که اظهار نظر های غیر فنی در مورد پرل میکنند پرل رو باید با چشم سایبری دید!! 
طی جستجو ای که کردم ماژول Inline رو پیدا کردم 
کافیه ppm رو باز کنیم و ماژول رو سرچ کنیم یه طومار برامون میاره مثله Inline-WSC برای استفاده کدهای vb Scr وjava Scr

چطور اســـــــتفاده کنیم:
به سـادگی!



use Inline::WSC VBScript => <<'EndOfVBScript';
' دستورات و توابع
EndOfVBScript


مثال :
use Inline::WSC VBScript => <<'EndOfVBScript';
' A simple "Hello World" example:
Function helloText
Text1 = "parcham balast"
End Function
' These comments are required
Sub hello (ipText)
msgbox ipText
End Sub
' The main body of the code:
Sub main
hello helloText
End Sub
EndOfVBScript
main;'godluck


فقط یه نکته ای که خودم هم تو اون مشکل داشتم و با گوگلینگ به جواب رسیدم اینه که اگر کد نوشته شده نتیجه ای رو نشون نداد باید این ساب روتین یعنی main رو بعد از اندینگ برنامه که در اینجا EndOfVBScript که می تونه عنوان دلخواه مون باشه قرار می دیم .


در این آدرس هم می تونید مثالی از استفاده جاوا در پرل رو ببینید.



دستیابی به مستندات

وقتی که کاربری Active Perl رو نصب میکنه همراه اون فایل های راهنما تحت عنوان مستندات نصب می شوند معمولا برای دستیابی به مستندات پرل هم می تونیم تحت کامند و هم این مستندات رو روی مرورگر به صورت فایلهای html مشاهده کنید.

یک مستند مربوط به یک تابع یک دستور یا یک ماژول حاوی تمام اطلاعاتی از قبیل نحوه استفاده دستورات موجود و قواعد نحوی اونه

برای بهره گیری از مستندات تحت کامند در محیط cmd از دستور perldoc استفاده میکنیم :


می بینید من مستندات ماژول بلوتوث رو نشان دادم مهمولا هر مستند دارای چند بخشه از جمله چند مثال همراه با توضیحات در قسمت SYNOPSIS , توضیحات کلی تر در قسمت DESCRIPTION ,توابع  که در این ماژول قرار گرفته اند FUNCTION می باشد.

برای دستابی به مستندات تحت مرورگر کافیه یه پوشه HTML در مسیر مفسر مراجعه کنیم و فایل index.html رو باز کنیم .اگر دنبال مطلبی هستین کافیه با یه Ctrl+F مطلب رو جستجو کنیم

X:\perl\html\index.html