رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

پست های پیشنهاد شده

با سلام .

من احتیاج به متد بلوفیش با زبا جاوا یا کتابخونه اون ( فایل jar ) رو دارم که تو برنامم تو Eclipse استفاده کنم .

تو اینترنت هر چقدر سرچ کردم سورس کد هایی رو پیدا کردم که خودشون از یک کلاس پولی مثلا کلاس های Base64 شرکت Sun استفاده کردن و من نمیتونم از این کلاس ها استفاده کنم ، میخوام ترجیحاً فارسی ساپورت باشه ( Unicode ) .

ممنون میشم کمکم کنید ، با تشکر .

توضیحات متد Blowfish :

بلوفیش (Blowfish) یک شیوه رمزنگاری بر پایه استفاده از کلید رمز و یک رمزگذاری قطعه‌ای متقارن است که در سال ۱۹۹۳ توسط بروس اشنایر طراحی و در بسیاری از مجموعه‌های رمزنگاریی و محصولات رمزگذاری گنجانده شد. بلوفیش نرخ رمزگذاری خوبی را در نرم افزار ارائه می‌دهد و تا امروز هیچ تحلیل رمز موثری بر روی آن پیدا نشده‌است. با این حال، استاندارد رمزگذاری پیشرفته (AES) امروزه بیشتر مورد توجه‌است. شینر بلوفیش را به عنوان یک الگوریتم همه منظوره به عنوان جایگزینی عاری از مشکل و محدودیت‌های برقراری ارتباط با الگوریتم‌های دیگر، برای استاندارد رمزنگاری داده‌ها قدیمی طراحی کرد. زمانی که بلوفیش منتشر شد بسیاری از طرح‌های دیگر گرفتار قانون ثبت اختراع بودند یا جز اسرار تجاری-دولتی محسوب می‌شدند. شینر اعلام کرد که، "بلوفیش ثبت نشده‌است، و در تمام کشورها این گونه باقی خواهد ماند. بدینوسیله الگوریتم در مالکیت عمومی قرار می‌گیرد و توسط هرکسی می‌تواند آزادانه استفاده شود." خصوصیات قابل توجه این طراحی شامل کلید- وابسته به s-box و یکزمانبند کلید بسیار پیچیده‌است.

لینک های ویکی پدیا :

http://fa.wikipedia.org/wiki/%D8%A8%D9%84%D9%88%D9%81%DB%8C%D8%B4

http://en.wikipedia.org/wiki/Blowfish_(cipher)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببینید این کلاس میتونه بهتون برای رمز گذاری و رمز گشایی کنه :[shcode=java]

public class EncryptDecrypt {

    public static void main(String[] args) throws Exception {

        // here are your inputs

        String keyString = "averylongtext!@$@#$#@$#*&(*&}{23432432432dsfsdf";

        String input = "john doe";

        // setup AES cipher in CBC mode with PKCS #5 padding

        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");

        // setup an IV (initialization vector) that should be

        // randomly generated for each input that's encrypted

        byte[] iv = new byte[cipher.getBlockSize()];

        new SecureRandom().nextBytes(iv);

        IvParameterSpec ivSpec = new IvParameterSpec(iv);

        // hash keyString with SHA-256 and crop the output to 128-bit for key

        MessageDigest digest = MessageDigest.getInstance("SHA-256");

        digest.update(keyString.getBytes());

        byte[] key = new byte[16];

        System.arraycopy(digest.digest(), 0, key, 0, key.length);

        SecretKeySpec keySpec = new SecretKeySpec(key, "AES");

        // encrypt

        cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivSpec);

        byte[] encrypted = cipher.doFinal(input.getBytes("UTF-8"));

        System.out.println("encrypted: " + new String(encrypted));

        // include the IV with the encrypted bytes for transport, you'll

        // need the same IV when decrypting (it's safe to send unencrypted)

        // decrypt

        cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec);

        byte[] decrypted = cipher.doFinal(encrypted);

        System.out.println("decrypted: " + new String(decrypted, "UTF-8"));

    }

}

[/shcode]

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...