نمایش نتایج: از شماره 1 تا 4 از مجموع 4
Like Tree1نفر پسندیدند
  • 1 ارسال توسط renger13

موضوع: کد و دیکد base 64

  1. #1
    عضو تازه وارد
    تاریخ عضویت
    2014 July
    ارسال ها
    25
    تشکر
    3
    تشکر شده 41 بار در 20 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر

    Arrow کد و دیکد base 64

    با سلام خدمت دوستان
    خصوصا دوست عزیزم حسین آقا....

    برنامه ای به زبان پایتون نوشتم که می تونید باهاش راحت کدهاتونو تبدیل به b64 کنید ویا بالعکس:

    کد:
    #!/usr/bin/env python
    
    from base64 import b64decode
    from base64 import b64encode
    import sys
    
    def Decode(enc_string):
        try:
            dec_string = b64decode(enc_string)
        except TypeError:
            print '\nTypeError: not a valid base64 hash'
            sys.exit(1)
        return dec_string
    
    def Encode(string):
        enc_string = b64encode(string)
        return enc_string
    
    if __name__ == '__main__':
        opts = ('-de', '-en')
        if (len(sys.argv) != 3) or (sys.argv[1] not in opts):
            print '\nBase64 encoder/decoder'
            print 'Coded by renger13'
            print '\nUsage: b64.py [-de, -en] [string]'
            print '\nExample: b64.py -en iran'
            print '         b64.py -de aXJhbg=='
            sys.exit()
        if sys.argv[1] == opts[0]:
            print '%s' % (Decode(sys.argv[2]))
        if sys.argv[1] == opts[1]:
            print '%s' % (Encode(sys.argv[2]))

    با سپاس از دوست عزیزم حسین آقا

    Hossein این نویسه را میپسندد.

  2. #2
    Moderator
    تاریخ عضویت
    2012 November
    ارسال ها
    128
    تشکر
    28
    تشکر شده 173 بار در 77 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    base64 در فریم ورک کیوت به کمک زبان C++:
    void MainWindow::on_pushButton_2_clicked()
    {
    QMessageBox i_msgbox;
    QString base64_string=base64_encode("YES!");
    i_msgbox.setText("base64 Encode: " + base64_string);
    i_msgbox.exec();
    i_msgbox.setText("base64 Decode: " + base64_decode(base64_string));
    i_msgbox.exec();

    }

    QString MainWindow::base64_encode(QString any_string)
    {
    QByteArray i_array;
    i_array.append(any_string);
    return i_array.toBase64();
    }

    QString MainWindow::base64_decode(QString any_string)
    {
    QByteArray i_array;
    i_array.append(any_string);
    return QByteArray::fromBase64(i_array);
    }



    ویرایش توسط returnx : 20th July 2014 در ساعت 01:34 AM

  3. #3
    Moderator
    تاریخ عضویت
    2012 November
    ارسال ها
    128
    تشکر
    28
    تشکر شده 173 بار در 77 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    base64 در C++ : (من فقط این کدُ تست کردم و خودم ننوشتم و فقط برای استفاده دوستان قرار دادم)
    void MainWindow::on_pushButton_2_clicked()
    {
    QMessageBox i_msgbox;
    std::string temp="YES!";
    std::string base64_string=base64_encode(temp.c_str(),temp.length());
    i_msgbox.setText(QString("base64 Encode: ") + QString::fromStdString(base64_string));
    i_msgbox.exec();
    i_msgbox.setText(QString("base64 Decode: ") + QString::fromStdString(base64_decode(base64_string)));
    i_msgbox.exec();

    }

    /*
    base64.cpp and base64.h

    Copyright (C) 2004-2008 René Nyffenegger

    This source code is provided 'as-is', without any express or implied
    warranty. In no event will the author be held liable for any damages
    arising from the use of this software.

    Permission is granted to anyone to use this software for any purpose,
    including commercial applications, and to alter it and redistribute it

    freely, subject to the following restrictions:

    1. The origin of this source code must not be misrepresented; you must not
    claim that you wrote the original source code. If you use this source code
    in a product, an acknowledgment in the product documentation would be
    appreciated but is not required.

    2. Altered source versions must be plainly marked as such, and must not be
    misrepresented as being the original source code.

    3. This notice may not be removed or altered from any source distribution.

    René Nyffenegger rene.nyffenegger@adp-gmbh.ch

    */


    static const std::string base64_chars =
    "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    "abcdefghijklmnopqrstuvwxyz"
    "0123456789+/";


    static inline bool is_base64(unsigned char c) {
    return (isalnum(c) || (c == '+') || (c == '/'));
    }

    std::string MainWindow::base64_encode( char const* bytes_to_encode, int in_len) {
    std::string ret;
    int i = 0;
    int j = 0;
    unsigned char char_array_3[3];
    unsigned char char_array_4[4];

    while (in_len--) {
    char_array_3[i++] = *(bytes_to_encode++);
    if (i == 3) {
    char_array_4[0] = (char_array_3[0] & 0xfc) >> 2;
    char_array_4[1] = ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4);
    char_array_4[2] = ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6);
    char_array_4[3] = char_array_3[2] & 0x3f;

    for(i = 0; (i <4) ; i++)
    ret += base64_chars[char_array_4[i]];
    i = 0;
    }
    }

    if (i)
    {
    for(j = i; j < 3; j++)
    char_array_3[j] = '\0';

    char_array_4[0] = (char_array_3[0] & 0xfc) >> 2;
    char_array_4[1] = ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4);
    char_array_4[2] = ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6);
    char_array_4[3] = char_array_3[2] & 0x3f;

    for (j = 0; (j < i + 1); j++)
    ret += base64_chars[char_array_4[j]];

    while((i++ < 3))
    ret += '=';

    }

    return ret;

    }
    std::string MainWindow::base64_decode(std::string const& encoded_string) {
    int in_len = encoded_string.size();
    int i = 0;
    int j = 0;
    int in_ = 0;
    unsigned char char_array_4[4], char_array_3[3];
    std::string ret;

    while (in_len-- && ( encoded_string[in_] != '=') && is_base64(encoded_string[in_])) {
    char_array_4[i++] = encoded_string[in_]; in_++;
    if (i ==4) {
    for (i = 0; i <4; i++)
    char_array_4[i] = base64_chars.find(char_array_4[i]);

    char_array_3[0] = (char_array_4[0] << 2) + ((char_array_4[1] & 0x30) >> 4);
    char_array_3[1] = ((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2);
    char_array_3[2] = ((char_array_4[2] & 0x3) << 6) + char_array_4[3];

    for (i = 0; (i < 3); i++)
    ret += char_array_3[i];
    i = 0;
    }
    }

    if (i) {
    for (j = i; j <4; j++)
    char_array_4[j] = 0;

    for (j = 0; j <4; j++)
    char_array_4[j] = base64_chars.find(char_array_4[j]);

    char_array_3[0] = (char_array_4[0] << 2) + ((char_array_4[1] & 0x30) >> 4);
    char_array_3[1] = ((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2);
    char_array_3[2] = ((char_array_4[2] & 0x3) << 6) + char_array_4[3];

    for (j = 0; (j < i - 1); j++) ret += char_array_3[j];
    }

    return ret;
    }




  4. #4
    Moderator
    تاریخ عضویت
    2012 November
    ارسال ها
    128
    تشکر
    28
    تشکر شده 173 بار در 77 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    base64 در فریم ورک دات نت به کمک زبان C#:
     private void Form1_Load(object sender, EventArgs e)
    {
    string base64_string = base64_encode("YES!");
    MessageBox.Show(base64_string);
    MessageBox.Show(base64_decode(base64_string));

    }

    private string base64_encode (string any_string)
    {
    byte[] i_array = Encoding.ASCII.GetBytes(any_string);
    return Convert.ToBase64String(i_array);
    }

    private string base64_decode(string any_string)
    {
    byte[] i_array = Convert.FromBase64String(any_string);
    return Encoding.ASCII.GetString(i_array);
    }




 

 

کاربران برچسب خورده در این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 07:50 AM بر حسب GMT +4 می باشد.