۸۰ مطلب با موضوع «برنامه نویسی» ثبت شده است

کتابخانه رمزنگاری ویجنری

رمزنگاری ویجنری یک روش رمز نگاری هست که به دلیل استفاده از کلید نسبتا امنه ولی قبلا شکسته شده است. من قبلا هم این کتابخانه رو درست کرده بودم ولی این بار با الگوریتمی جدید این کتابخانه رو نوشتم. سورس کامل این کتابخانه که با زبان #C نوشته شده در انتها برای دانلود گذاشته شده است.

 

 

 

ادامه مطلب...
مجوز مطالب و محتوا ۲۲ بهمن ۹۵ ، ۲۰:۳۰ ۰ نظر موافقین ۱ مخالفین ۰
بهنام سیم جو

چاپ رشته های چند خطی در پرل

فکر کنم اندی پیش بود که یکی از خوانندگان وبلاگ(از خوانندگان پروپا قرص بودن!) گفتند برای چاپ هر تگ اچ تی ام ال داخل پرل باید یک خط بنویسی. الآن که خودم رفتم سراع نوشتن یک اسکریپت cgi با پرل فهمیدم که اینطور میتونید یک رشته‌ی چند خطی رو چاپ بکنید:

print <<'END';
<!doctype html>
<html><body>
This is just a test
</body></html>
END

البته محدودیت هایی هم داره از جمله اینکه نمیتونید از متغیر ها، استفاده بکنید همونطور که استفاده میکردید:

$val = 111;
print "Value is $val\n";
مجوز مطالب و محتوا ۱۱ بهمن ۹۵ ، ۱۷:۴۹ ۳ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

یک مشاهده‌گر ساده فایل در فرمت شانزده‌شانزدهی(هکس) به زبان پایتون

قبلا تکه کد مشابهی رو به زبان سی فرستاده بودم. این همونه اما به زبان پایتون.

#!/usr/bin/python3
'''
HexView.Py - A simple File Viewer in Hexadecimal format.
Author: FarooqKZ
Under GPL3+. THIS SOFTWARE COMES WITH NO WARRENTY FROM MAIN AUTHOR.
'''

import sys # I inlcude this to use sys.exit() and sys.argv

def showhelp(): # this function shows usage of program
    print("Usage: hexview.py file_path\n\tfile_path: Path of file to view.");
    sys.exit()

if '-h' in sys.argv: #shows help if something like this passed to program: 'hexview.py -h'
    showhelp()

path = sys.argv[1]
filestream = None
fbytes = None

try:
    filestream = open(path,'br') # Open the file in Binary mode for Reading(br)
    fbytes = filestream.read() # Read all bytes from the file 
finally:
    if filestream:
        filestream.close()

rown = 0 
print('')
for b in fbytes:
    s = hex(b).upper()
    s = s.replace('0X','')# "0XBA" => "BA"

    if len(s) == 1: 
        print('0', end='')
    print(s, end=' ')

    rown += 1
    if (rown % 27) == 0:
        print('')

print("\n") # prints 2 newline

پیوند تکه کد در گیت هاب گیست ( برای دریافت به اینجا بروید)

مجوز مطالب و محتوا ۱۶ دی ۹۵ ، ۰۹:۰۰ ۳ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

یک مشاهده‌گر ساده فایل در فرمت شانزده‌شانزدهی(هکس) به زبان سی

این تکه کد ساده یک مشاهده گر ساده هست که تک تک بایت های فایل را داخل مبنای شانزده(Hex) نمایش میده.

// hexview.c
// Author: FarooqKZ
// It's free software under GPL3+ and comes WITHOUT ANY WARRENTY FROM MAIN AUTHOR
#include <stdio.h>

int main(int argc, char *argv[]){
    if (argc == 1 || !strcmp(argv[1], "-h")){
        printf("Usage: hexview file_path\n");
        return 0;
    }
    FILE *fs = fopen(argv[1], "r");
    long byte_number = 0;
    while(1){
        if ((++byte_number % 26) == 0) // goes to new line each 26 bytes
            printf("\n"); // you may remove this part and then use fold to split it into lines


        int t = getc(fs);
        if (t == EOF)
            break;

        printf("%.2X ", t);
    }
    printf("\n");
    return 0;
}

پیوند کد در گیت‌هاب گیست(برای دریافت به اینجا بروید)

مجوز مطالب و محتوا ۰۴ دی ۹۵ ، ۱۶:۱۸ ۰ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

رمزنگاری ویجنر در #C

ویجر (vigenere) یکی از شیوه های امن در کد گزاری الفبایی است که من اون رو به صورت یک کتابخانه برای #C نوشتم تا هر متنی را با هر کلید دلخواه و با استفاده از چند متد ساده کد گذاری کنید.

کارکتر های مجاز:

"A-Z a-z 0-9 (SPACE) "!@#$%^&*()[]{}<>_-+=\/."

 

دانلود فایل زیپ سورس با حجم 227kb

دانلود

 

دانلود کتابخانه .net با حجم 116kb

دانلود

مجوز مطالب و محتوا ۱۷ مرداد ۹۵ ، ۱۵:۰۰ ۱ نظر موافقین ۰ مخالفین ۰
بهنام سیم جو

نظرات (۱)

دانلود کتاب آموزش سریع پرل


این کتابچه خیلی سریع سینتکس پرل رو آموزش میده.کتاب خوبی هست.

حجم: 122 کیلوبایت
مجوز مطالب و محتوا ۱۷ مرداد ۹۵ ، ۱۲:۰۰ ۲ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

نظرات (۲)

محمد آذرکار

مخازن توکار در پایتون

تقریبا در تمام زبان هایی که از نسل سی هستند شما چیزی به اسم مجموعه‌ها یا آرایه‌ها می‌بینید.در زبان سی یک آرایه، یک مجموعه از متغیر های همنوع هست که خانه‌های مجاور حافظه به آن تخصیص داده شده است.آرایه زیر یک آرایه از 3 عدد صحیح هست:

int ary[3] = {1, 2, 3};
printf("%i\n", ary[0]); // prints 1

در پایتون چیزی به اسم آرایه وجود ندارد.خود زبان پایتون بصورت ذاتی(منظورم builtin یا توکار هست) چهار نوع مخزن دارد: لیست‌ها(Lists)،توپل‌ها(Tuples)،دایرکتوری‌ها(Directories) و مجموعه‌ها(Sets).

برخلاف آرایه‌ها در سی که تنها میتوانند داده‌هایی از یک نوع را در خود نگه دارند، مخازن پایتون(جز مجموعه‌ها) میتوانند شامل هر نوع داده‌ای بصورت همزمان باشند.

ادامه مطلب...
مجوز مطالب و محتوا ۱۴ مرداد ۹۵ ، ۱۹:۰۰ ۱ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

نظرات (۱)

علیرضا آهنی

فرستادن ایمیل در سی شارپ

این مثال رو خودم امتحان کردم و جواب گرفتم:

using System.Net.Mail;

private void send_email()
        {
            try
            {
                MailMessage mail = new MailMessage();
                SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");

                mail.From = new MailAddress("your_email@gmail.com");
                mail.To.Add("to_address");
                mail.Subject = "Test Mail";
                mail.Body = "This is for testing SMTP mail from GMAIL";

                // اگر می خواهید فایل هم ارسال کنید کد های زیررا هم بنویسید
                System.Net.Mail.Attachment attachment;
                attachment = new System.Net.Mail.Attachment("your file");
                mail.Attachments.Add(attachment);

                SmtpServer.Port = 587;
                SmtpServer.Credentials = new System.Net.NetworkCredential("username", "password");
                SmtpServer.EnableSsl = true;

                SmtpServer.Send(mail);
                MessageBox.Show("mail Send");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }

بخش هایی که با رنگ آبی مشخص شده اند به ترتیب آدرس ایمیل مبدا، آدرس ایمیل مقصد، موضوع ایمیل، متن ایمیل، آدرس فایل، نام کاربری حساب جیمیل و رمز ورود به جیمیل میباشند

مجوز مطالب و محتوا ۰۷ مرداد ۹۵ ، ۱۰:۰۰ ۱ نظر موافقین ۰ مخالفین ۰
بهنام سیم جو

کار با فایل ها در پایتون

در این قسمت آموزش خواندن یک فایل متنی و همچنین ایجاد و نوشتن یک فایل متنی را مطالعه میکنید.

ادامه مطلب...
مجوز مطالب و محتوا ۰۴ مرداد ۹۵ ، ۱۰:۰۰ ۲ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

نظرات (۲)

برنامه نویس تنبل

روبو کد - یک بازی برنامه نویسی با زبان جاوا و روبات های کوچیک

روبو کد یه بازی برنامه نویسی جالب، مفید و متن‌باز هست.داخل این بازی شما با زبان جاوا باید روبات های کوچک رو برنامه نویسی کنید تا برن با بقیه روبات ها بجنگن!این روبات ها، تانک های شش چرخ کوچکی به ابعاد 48*48 پیکسل هستند که داخل زمین بازی(زمین جنگ) باید با برنامه نویسی شما عقب یا جلو برن، وقتی یک روبات دیگه رو دیدن به طرفش شلیک کنن و ...

مواد و وسایل لازم:

  • یک کامپیوتر رومیزی
  • ماشین مجازی جاوا برای سیستم عاملتون
  • روبو کد
  • اگر میخواید یک روبات بسازید باید سینتکس جاوا رو بلد باشید.البته اگر یکی از زبان هایی که خویشاوندی نزدیکی با سی داره رو بلد باشید، مثل سی یا سی پلاس پلاس یا سی شارپ باز هم کارتون راه میوفته. مخصوصا سی شارپ که سینتکسش کپی همون جاوا هست

توجه کنید که نیازی به JDK و کامپایلر جاوا ندارید چون روبو کد همراه خودش یک کامپایلر جاوا(ECJ) داره.  اما اگر JDK روی سیستمتون نصبه میتونید انتخاب کنید که برای کامپایل کردن از  JDK استفاده کنید.اگر ماشین مجازی جاوای شما آماده هست روبو کد رو از لینک زیر دانلود کنید و با ماشین مجازی جاوا اجراش کنید.برای نصب نیازی به دسترسی ادمین یا ریشه ندارید چون روبو کد توی پوشهی شخصیتون(home) نصب میشه.

ادامه مطلب...
مجوز مطالب و محتوا ۰۱ مرداد ۹۵ ، ۱۵:۰۰ ۱۳ نظر موافقین ۲ مخالفین ۰
فاروق کریمی زاده