3 ارسال در این موضوع قرار دارد

با سلام .

من احتیاج به متد بلوفیش با زبا جاوا یا کتابخونه اون ( فایل 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]

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


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

تا حدودی بکارم اومد ، توی قسمتایی از پروژم بجای Blowfish از سورس کد شما استفاده کردم .

با تشکر .

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


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

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری