انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => برنامه‌سازی => نویسنده: kooroshrad در 15 اسفند 1396، 03:41 ب‌ظ

عنوان: رمزنگاری رشته ها در پایتون
ارسال شده توسط: kooroshrad در 15 اسفند 1396، 03:41 ب‌ظ
با سلام

چطور میتونم یه رشته رو توی پایتون رمزنگاری کنم طوری که طول رشته کوتاه بشه و خروجی بازم یه رشته باشه ؟
عنوان: پاسخ : رمزنگاری رشته ها در پایتون
ارسال شده توسط: Nelliel در 15 اسفند 1396، 04:27 ب‌ظ
میشه بیشتر توضیح بدید؟
عنوان: پاسخ : رمزنگاری رشته ها در پایتون
ارسال شده توسط: nixoeen در 15 اسفند 1396، 08:13 ب‌ظ
رمزنگاری یا فشرده‌سازی؟
عنوان: پاسخ : رمزنگاری رشته ها در پایتون
ارسال شده توسط: kooroshrad در 17 اسفند 1396، 11:24 ق‌ظ
با سلام مجدد

من میخام با یه سخت افزار ارسال پیامک کنم(وضعیت یک دستگاه رو پیامک کنم)

حالا نکته اینه که طول داده زیاد میشه و نمیشه توی یک پیامک ارسالش کرد.


من میخام یه تکنیک پیدا کنم که باهاش مثلا یه رشته ۱۰۰ کاراکتری رو به یه رشته 20 کاراکتری تبدیل کنم و اونطرف وقتی پیامک دریافت شد باز برگردونمش به همون حالت ۱۰۰ کاراکتری و ادامه کار.
عنوان: پاسخ : رمزنگاری رشته ها در پایتون
ارسال شده توسط: Nelliel در 17 اسفند 1396، 11:51 ق‌ظ
نمی‌دونم کمک می‌کنه یا نه ولی: https://docs.python.org/3/library/archiving.html و https://docs.python.org/3/library/zlib.html
عنوان: پاسخ : رمزنگاری رشته ها در پایتون
ارسال شده توسط: سلمان م. در 17 اسفند 1396، 02:48 ب‌ظ
من میخام با یه سخت افزار ارسال پیامک کنم(وضعیت یک دستگاه رو پیامک کنم)

نیازی به این کارها نیست که. وضعیت دستگاه کلا چند حالت ممکن هست داشته باشه؟

حالت ۰ : خراب هست
حالت ۱ : کار می‌کنه
حالت ۲: کار می‌کنه ولی قلان جاش خرابه
حالت ۳: کار می‌کنه ولی فلان چیزش در وضعیت قرمز هست
....

می‌تونی برای هر حالت یه کد تعریف کنی. و بعد طرف بر اساس کد بفهمه که یعنی چی.
عنوان: پاسخ : رمزنگاری رشته ها در پایتون
ارسال شده توسط: nixoeen در 17 اسفند 1396، 04:13 ب‌ظ
Huffman coding (https://en.wikipedia.org/wiki/Huffman_coding)
عنوان: پاسخ : رمزنگاری رشته ها در پایتون
ارسال شده توسط: kooroshrad در 18 اسفند 1396، 07:58 ب‌ظ
سلام مجدد

اطلاعات ارسالی من اینا هستن

lockup table = 25 byte
user ifo : max 230 byte
charge info : max 10 byte
ussid info : max 20 byte
order sender : 1 byte

یعنی متنی که من میخام پیامک کنم یه رشته نهایتا ۳۰۰  بایتی بشه
حالا چون ماکزیمم سایز ارسال پیامک انگلیسی ۷۰ کاراکتر هست باید اطلاعاتم رو فشرده کنم که توی یه پیامک جا بشه
عنوان: پاسخ : رمزنگاری رشته ها در پایتون
ارسال شده توسط: Geek در 18 اسفند 1396، 09:19 ب‌ظ
اگر به ترتیب هست، کافیه فقط اعداد رو ارسال کنی!
عنوان: پاسخ : رمزنگاری رشته ها در پایتون
ارسال شده توسط: kooroshrad در 19 اسفند 1396، 08:26 ق‌ظ
داداش وقتی مینویسم فلان چیز ماکزیمم ۲۳۰ بایت یعنی اینکه ۲۳۰ بایت اطلاعاته :|

چی از نوشته من برداشت کردی که میگی پشت هم بنویسش :|
عنوان: پاسخ : رمزنگاری رشته ها در پایتون
ارسال شده توسط: kooroshrad در 19 اسفند 1396، 11:27 ق‌ظ
سلام مجدد
دوستان من یه کارهایی کردم ولی هنوز ناقصه

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

http://bhrigu.me/blog/2017/01/17/huffman-coding-python-implementation/

توی فایل آپلود شده دوتا فایل هست
یکی کتابخونه هافمن توی پایتون هست
و دومی استفاده از اون



حالا کاری من میخام انجام بدم اینه که عملیات فشرده سازی رو روی یه متن با طول مثلا ۳۰۰ بایت اینقدر تکرار کنم تا طول نتیجه از ۷۰ بایت کمتر بشه که این کار رو موفق شدم اما وقتی میخام متن فشرده شده رو برگردونم برنامه خطا میده

ممنون میشم برنامه رو نیگاه کنین و اگه میتونین ایراد کار رو پیدا کنین
عنوان: پاسخ : رمزنگاری رشته ها در پایتون
ارسال شده توسط: nixoeen در 19 اسفند 1396، 07:07 ب‌ظ
حالا کاری من میخام انجام بدم اینه که عملیات فشرده سازی رو روی یه متن با طول مثلا ۳۰۰ بایت اینقدر تکرار کنم تا طول نتیجه از ۷۰ بایت کمتر بشه
* می‌خوام
سعی کنید Huffman code رو ابتدا متوجه بشید. بعد می‌بینید تکرار اون تاثیری نداره.
عنوان: پاسخ : رمزنگاری رشته ها در پایتون
ارسال شده توسط: kooroshrad در 20 اسفند 1396، 10:07 ق‌ظ
ممنون از راهنماییتون

حتما حرف شما درسته چون من نحوه عملکرد این الگوریتم رو مطالعه نکردم

ولی چیزی برام جالب بود اینه که وقتی یه رشته رو باهاش فشرده میکنم و نتیجه رو میریزم توی یه متغیر بعد همون متغیر رو دوباره فشرده میکنم طول متغیر کمتر میشه
عنوان: پاسخ : رمزنگاری رشته ها در پایتون
ارسال شده توسط: قاسم طلایی در 16 تیر 1397، 05:39 ب‌ظ
با سلام.
به نظرم شما باید از الگوریتم های رمزگذاری داده استفاده کنید.لطفا به لینک زیر یه نگاهی بندازید.من هم زیاد در این رابطه مطالعه نداشتم ولی فکر کنم کارتون راه بیفته.
https://blog.storagecraft.com/5-common-encryption-algorithms/ (https://blog.storagecraft.com/5-common-encryption-algorithms/)