کسی میتونه برا کد و دیکد کردن یک رشته(String) کمکم کنه؟ اگه آره ممنون میشم
Printable View
کسی میتونه برا کد و دیکد کردن یک رشته(String) کمکم کنه؟ اگه آره ممنون میشم
الگوريتم مورد استفاده رو توضيح بديد شايد ...
Sha1 یک الگوریتم کد گذاری بر روی داده یا هر چزی دیگری می باشد. من یه هفته دیگه یه فایلی دریافت خواهم کرد که با همین الگوریتم کد شده و باید دیکد کرده و اطلاعات داخل آن را بخونم. روی اطلاعات خوانده شده یک سری عملیات خاص انجام خواهم داد و دوباره باید با همین الگوریتم کد کرده و برگردونم. این یک پروژه کاری هستش که برام خیلی حیاتی هستش.
دیگه توضیح خاصی نداره. فقط اینا بگم که STRING کد شده میگیرم و STRING کد شده پس می دم. این وسط باید یه سری عملیات انجام بدم.با تشکر
TurboPower LockBox
من خیلی وقت پیش توی یه پروژه ازش استفاده کردم. راضی بودم. اگر می خوای بدونی چطور پیاده سازیش میکنه، کافیه سورسش رو نگاه کنی. Documentation همراه کامپوننت هم خوب و کافی هست.کد:http://sourceforge.net/projects/tplockbox/
سلام دوست عزیز. من سایتو نگاه کردم ولی نمیدونم کدوم یکی را دانلود کنم. اگه لطف کنی لینک دانلودش را برام بذاری ممنون میشم. مرسینقل قول:
سلام
من يه توصيه مي كنم. اونم اينكه اگه برنامه اي كه مي نويسي خيلي مهمه از الگوريتم هاي معروف استفاده نكن چون خيلي سريع راه Decode كردنش رو هكر ها مي دونن. بازم ميگم اگه خيلي مهمه وگرنه نه!!! از خودتم مي توني يه الگوريتم Decode بسازي كه به نظر من بهتره.
موفق باشي
باي
اتفاقا باید از همچین الگوریتم هایی استفاده بکنه، چون امتحان خودشون رو پس دادن. امنیت این روشها صرفا بخاطر الگوریتمشون نیست، چون الگوریتمشون همین الان هم همه جا پیدا میشه، بلکه نوع کلیدهایی هست که استفاده می کنند. مثلا در حال حاضر با دانش موجود امکان شکستن یک کلید 512 بایتی که از اعداد اول بدست اومده، عملا غیرممکن هست، چون باز کردنش، حتی با ابرکامپیوترهای موجود، به چند صد سال زمان نیاز داره.نقل قول:
من يه توصيه مي كنم. اونم اينكه اگه برنامه اي كه مي نويسي خيلي مهمه از الگوريتم هاي معروف استفاده نكن چون خيلي سريع راه Decode كردنش رو هكر ها مي دونن.
تنها جایی که میشه منطقا استفاده از الگوریتم های استاندارد رو محکوم کرد جایی هست که بحث امنیت ملی و داده های نظامی مطرح میشه چون احتمال اینکه این الگوریتم های تجاری کلیدهای مخفی برای رمزگشایی توسط NSA داشته باشند خیلی زیاده. غیر از این مورد دیگه هیچ جای نگرانی نیست. همین الان هم می بینید که سایت های معاملات تجاری مثل PayPal برای داد و ستد کردن پول از همین الگوریتم های استاندارد موجود استفاده می کنند، یا شرکت های نرم افزاری کدهای خودشان را با همین الگوریتم ها Sign می کنند.
در ضمن، LockBox الگوریتم های استاندارد را براساس همون استاندارد پیاده سازی میکنهه، یعنی خودش الگوریتم من درآوردی نداره.
یک نکته رو هم توجه داشته باشید. SHA-1 یک الگوریتم Hash ساز هست. نمی تونید کد تولید شده توسط آن را Decode کنید. الگوریتم هایی مثل SHA-1 یا MD5 برای رمزنگاری داده ها بکار نمیرند. اگر درباره این الگوریتم و بطور کلی الگوریتم های ساخت Hash اطلاع ندارید، بهتر اول درباره اش تحقیق کنید.
یک دکمه بزرگ دانلود داره که وقتی روش کلیک می کنید یک صفحه باز میشه که توش کلا دوتا لینک دانلود بیشتر نیست. یکی خود کامپوننت به همراه سورسش، و یکی هم مستندات و راهنمای استفاده از کامپوننتنقل قول:
من سایتو نگاه کردم ولی نمیدونم کدوم یکی را دانلود کنم.
دقيقا همينه كه VDeveloper گفتند:
البته با sha-1 كار نكردم اما ميتونم الگوريتم hashing ي رو معرفي كنم كه در php هم همه دارند از اون استفاده مي كنند و هنوز راه برگشتي براش پيدا نشده: MD5نقل قول:
SHA-1 یک الگوریتم Hash ساز هست
اگر به كامپوننت نياز داريد بگيد تا بذارم.
اگه لطف کنین ممنون میشم. چون میخوام در این مورد اطلاعاتم را زیاد کنم. اما در مورد SHA1 گفتنی هستم که یه فایل از طرف یه شرکت آلمانی دریافت خواهم کرد که با این الگوریتم code شده باید بتونم decode کنم و اطلاعات مورد نیاز را ازش بردارم. پسورد های مورد نیاز برای decode را در اختیارم خواهند گذاشت. لازم به ذکر است که بعد از خواندن اطلاعات تعییراتی بر روی فایل انجام خواهم داد که دوباره باید code کنم و فایل را برگردونم. ممنون از همهنقل قول:
در مورد SHA1 مطمئن نيستم اما MD5 برگشت پذير نيستنقل قول:
باید بتونم decode کنم
اگر منظور از پسورد، الگوريتم هست كه لطف كنيد و در اختيار ما هم بگذاريدنقل قول:
پسورد های مورد نیاز برای decode را در اختیارم خواهند گذاشت
كامپوننت HashLib رو ميتونيد از لينك زير دانلود كنيد:
نام كامپوننت: HashLib v1.0
حجم فايل: 47.35 KB
الگوريتم هاي hash و encode كه در اين كامپوننت هست:
کد:Checksum32
XOR8
XOR16
XOR32
CRC16
CRC32
MD5
SHA1
SNS
HMAC/MD5
HMAC/SHA1
موفق باشيدکد:http://webmaster110.parsaspace.com/p30world/HashLib.rar
SHA-1 امنیتش از MD5 بیشتر هست.نقل قول:
البته با sha-1 كار نكردم اما ميتونم الگوريتم hashing ي رو معرفي كنم كه در php هم همه دارند از اون استفاده مي كنند و هنوز راه برگشتي براش پيدا نشده
در ضمن، اگر به توضیحات مربوط به LockBox توجه کنید می بینید که مجموعه ایی از استانداردهای کدنگاری را پیاده سازی میکنه، نه فقط SHA-1 را:
It provides support for Blowfish, RSA, MD5, SHA-1, DES, triple- DES, Rijndael, & digital signing of messages
SHA-1 یک الگوریتم برگشت ناپذیر هست. شما نمی تونید با هیچ کلیدی اونو Decode کنید! کار SHA-1 اینه که یک رشته داده (با هر طولی - از یک بایت گرفته تا هر چقدر که فکرش را بکنید) را بگیره و از آن یک عدد 160 بیتی منحصر به فرد تولید کنه. یعنی اگر شما یک حرف بهش بدید، یک کد 160 بیتی می گیرید، اگه یک گیگابایت داده هم بهش بدید، باز هم یک کد 160 بیتی می گیرید. این کد برگشت ناپذیره، یعنی نمی تونید با داشتن آن، به داده اصلی برسید. اگر این کار امکان پذیر بود، باید اسمش می شد الگوریتم فشرده سازی، چون می تونست هر داده ایی رو با هر حجمی تبدیل به یک عدد 160 بیتی بکنه و هر زمان لازم بود این عدد رو تبدیل به داده اصلی بکنه. مثلا میشد کل کتاب های جهان رو با این روش فشرده کرد و مثلا توی یک DVD جا داد! الگوریتم های تولید Hash معمولا برای بررسی اصالت (Integrity) داده ها استفاده میشند. مثلا زمانی که شما پیامی دریافت می کنید و می خواید مطئن بشید که محتوی پیام در طول مسیر تغییر نکرده.نقل قول:
اما در مورد SHA1 گفتنی هستم که یه فایل از طرف یه شرکت آلمانی دریافت خواهم کرد که با این الگوریتم code شده باید بتونم decode کنم و اطلاعات مورد نیاز را ازش بردارم. پسورد های مورد نیاز برای decode را در اختیارم خواهند گذاشت.
سلام. من دانلود کردم نتونستم ازش استفاده کنم. اطفا راهنماییم کنین. خیلی ضروری هستش. اگه میشه کامل توضیح بدین که دیگه مجلور نشم هی سوال کنم. دیگه وقتی هم برام نمونه. ببخشین. مرسینقل قول:
با نصب كامپوننت مشكل داريد يا استفاده؟
با نصبش. وقتی روی فایل elHashLib.dpk کلیک میکنم صفحه مربوطه را باز میکنه و دیگه نمیتونم اون را کامپاسل و نصب کنم. لطفا راهنمایی کنید.
به فايل پكيج كاري نداشته باشيد. از component -> install component فايل cHashComponent.pas رو نصب كنيد
مرسی.
با کد HashCalc1.HashStr(Edit1.Text); میتونم کد کنم اما مقدار کد شده را کجا بریزم؟ سوال دوم مقدار کد شده را چطوری دیکد کنم؟
ممنون میشم اگه راهنماییم کنین.
با سپاس
هر جا كه دم دستتون بود!نقل قول:
اما مقدار کد شده را کجا بریزم؟
خب يك مقدار string هست ديگه. ميتونيد توي متغير، بانك، فايل و ... نگه داريد.
اگر به عرايض بنده و جناب vdeveloper توجه مي كرديد متوجه مي شديد كه hashing برگشت ناپذير هست. حالا اگر طبق گفته خودتون قرار هست الگوريتم decode براي sha1 رو بگيريد، در اختيار ما هم بگذاريد تا راهنمايي كنيم.نقل قول:
مقدار کد شده را چطوری دیکد کنم؟
-----------
دوست عزیز اگه به تابع بالایی توجه کنید میبینید که هیچ رشته ای برنمیگردونه که بتونم تو یه متغیر string بریزم. نکته بعدی اینکه اگه الگوریتم sha1 درواقع ما را تو چاهی میندازه که هیچ راه برگشتی نیست. پس با این حساب به دردمون نمیخوره چون بعد کد کردن دیگه اگه اطلاعات لازممون شد نمیتونیم اونها را برگردونیم.نقل قول:
الگوریتمی داریم که بتونیم باهاش هم کد کنیم هم دیکد. اگه سراغ داری برام معرفی کنین. مرسی
براي استفاده از رشته اي كه كدگذاري كرديد:
کد:ShowMessage(HashCalc1.GetDigestHex);
چرا چاه؟ اگر نياز به كدگذاري برگشت ناپذير داشته باشيد يكي از بهترين گزينه هاست.نقل قول:
الگوریتم sha1 درواقع ما را تو چاهی میندازه که هیچ راه برگشتی نیست
بله. و بهترينش اوني هست كه خود شما بنويسيدنقل قول:
الگوریتمی داریم که بتونیم باهاش هم کد کنیم هم دیکد
لزوما اینطور نیست. مثلا Public Key Cryptography یک روش شناخته شده هست. خیلی از شرکت های معروف هم برای کارهای بسیار مهم تجاری ازش استفاده می کنند.کی می تونه مثلا یه کلید 1024 بیتی رو بشکونه؟! الان برای فعالیت های تجاری مهم روی وب از همین الگوریتم با کلیدهای 128 بیتی استفاده میشه. اینجا الگوریتم نیست که مهمه، بلکه کلید هست که اهمیت داره. مبحث کرک نیست که بگیم هرچی کدت من درآوردی تر باشه، بهتر هست. الگوریتم های رمزنگاری معروفی که به طور معمول همه جا می بینید، نتیجه تلاش و تحقیق گروهی از بهترین دانشمندان ریاضی و متخصصین رمزنگاری هست و سالهاست که تلاش میشه راه نفوذی بهشون پیدا کرد.نقل قول:
بله. و بهترينش اوني هست كه خود شما بنويسيد
قبلا هم گفتم، تنها مورد استثناء داده های حساس مملکتی و نظامی هست. نه اینکه یک کشور میتونه لزوما الگوریتم بهتری بسازه، ولی حداقلش متخصصین کشورهای متخاصم با یک شاه کلید توی چند دقیقه کد رو باز نمی کنند. متاسفانه اکثر استانداردهای معروف رمزنگاری یا مستقیما توسط NSA ارائه شدند، یا کارشناسان دخیل در آنها به نوعی با NSA در ارتباط بودند. بعید هست که NSA چیزی بسازه که خودش نتونه واردش بشه.
نتیجه اعتماد به همچین روش های استانداردی در سطح فعالیت های نظامی و اطلاعاتی میشه این:
Crypto AG was an old and venerable firm, and Switzerland was a neutral country. So Crypto AG's enciphering devices for voice communication and digital data networks were popular, and customers came from 130 countries. These included the Vatican, as well the governments of Iraq, Iran, and Libya. Such countries were naturally skeptical of cryptographic devices sold in many NATO countries, so turned to relatively neutral Switzerland for communication security.
Iran demonstrated its suspicion about the source of the leaks, when it arrested Hans Buehler, a top salesman for Crypto AG, in Teheran on March 18, 1992. During his nine and a half months of solitary confinement in Evin prison in Teheran, Buehler was questioned again and again whether he had leaked Teheran's codes or Libya's keys to Western powers. Luckily Buehler didn't know anything. He in fact believed in his own sales pitch that Crypto AG was a neutral company and its equipment was the best. They were Swiss, after all. [3]
Crypto AG eventually paid one million dollars for Buehler's release in January 1993, then promptly fired him once they had reassured themselves that he hadn't revealed anything important under interrogation, and because Buehler had begun to ask some embarrassing questions. Then reports appeared on Swiss television, Swiss Radio International, all the major Swiss papers, and in German magazines like Der Spiegel. Had Crypto AG's equipment been spiked by Western intelligence services? the media wanted to know. The answer was Yes [4].
Swiss television traced the ownership of Crypto AG to a company in Liechtenstein, and from there back to a trust company in Munich. A witness appearing on Swiss television explained the real owner was the German government--the Federal Estates Administration. [5]
According to Der Spiegel, all but 6 of the 6000 shares of Crypto AG were at one time owned by Eugen Freiberger, who resided in Munich and was head of the Crypto AG managing board in 1982. Another German, Josef Bauer, an authorized tax agent of the Muenchner Treuhandgesellschaft KPMG, and who was elected to the managing board in 1970, stated that his mandate had come from the German company Siemens. Other members of Crypto AG's management had also worked at Siemens. Was the German secret service, the Bundesnachrichtendienst (BND), hiding behind the Siemens' connection?
So it would seem. Der Spiegel reported that in October 1970, a secret meeting of the BND had discussed how the Swiss company Graettner could be guided into closer cooperation with Crypto AG, or could even merged with it. The BND additionally considered how "the Swedish company Ericsson could be influenced through Siemens to terminate its own cryptographic business."
کد:http://www.aci.net/Kalliste/speccoll.htm
ولی همچین چیزی برای مورد این دوستمون مصداق نداره. از طرفی نوشتن الگوریتمی بهتر از الگوریتم های معروفی مثل Public Key Cryptography کار یک نفر دو نفر نیست!
سوال اين بود كه هم encode هم decodeنقل قول:
لزوما اینطور نیست. مثلا Public Key Cryptography یک روش شناخته شده هست
پس اگر Cryptography امكان decode نداره چه لزومي به استفاده براي دوستمون داره؟
مگه من گفتم Public Key Cryptography یک روش برگشت ناپذیر هست؟!! در این روش شما یک Private Key و یک Public Key دارید که در واقع دو عدد اول بسیار بزرگ هستند. هر پیامی که با Private Key شما رمز بشه، فقط با Public Key شما باز میشه، به این ترتیب گیرنده می تونه مطمئن باشه که پیام از طرف شما فرستاده شده. از طرفی اگر پیام با Public Key گیرنده رمز شده باشه، فقط فردی که Private Key مربوط به آن را داره می تونه پیام رو باز کنه، به این ترتیب شما می تونید مطمئن باشید که پیام توسط افراد دیگه مشاهده نمیشه. حالا اگر پیامی با Private Key فرستند و سپس با Public Key گیرنده رمز بشه، هم فرستده میتونه مطمئن باشه که پیام فقط توسط گیرنده باز میشه، هم گیرنده موقع خواندن پیام می تونه مطمئن باشه که پیام توسط فرستده مورد نظر ارسال شده.نقل قول:
سوال اين بود كه هم encode هم decode
پس اگر Cryptography امكان decode نداره چه لزومي به استفاده براي دوستمون داره؟
این روش ربطی به الگوریتم های ساخت Hash Code نداره و کاملا مربوط به سوال کاربر مربوطه هست.
ببين چقدر خوبه كه واضح توضيح بدي .... . حل شد
مشکل از توضیح من نبود، برادر. مشکل از گیرندگی شمابود. وقتی من به این صراحت اسم Public Key Cryptography رو آوردم، پیش فرض من این بود که جنابعالی قبل از پست زدن حداقل یه سرچی درباره اش می کنید، یا حداقل اطلاعی ازش دارید!نقل قول:
ببين چقدر خوبه كه واضح توضيح بدي .... . حل شد
در ضمن، بحث من در رد پیشنهاد شما که گفته بودید، "بله. و بهترينش اوني هست كه خود شما بنويسيد" مطرح شد. که نمیدونم چطور از همچین بحثی به "Cryptography امكان decode نداره" رسیدید!
موفق باشید
از اينجا:نقل قول:
نمیدونم چطور از همچین بحثی به "Cryptography امكان decode نداره" رسیدید!
اما اگر همون موقع مي گفتيد:نقل قول:
لزوما اینطور نیست. مثلا Public Key Cryptography یک روش شناخته شده هست. خیلی از شرکت های معروف هم برای کارهای بسیار مهم تجاری ازش استفاده می کنند.کی می تونه مثلا یه کلید 1024 بیتی رو بشکونه؟
ديگه نه مشكلي در توضيح شما بود و نه در گيرندگي بنده.نقل قول:
در این روش شما یک Private Key و یک Public Key دارید که در واقع دو عدد اول بسیار بزرگ هستند. هر پیامی که با Private Key شما رمز بشه، فقط با Public Key شما باز میشه، به این ترتیب گیرنده می تونه مطمئن باشه که پیام از طرف شما فرستاده شده
موفق باشي
گفتم که تصور من این بود که شما قبل از اظهار نظر، حداقل شناخت مقدماتی از همچین روشی دارید. وقتی من میگم "کلید" و در جای دیگه میگم "اینجا الگوریتم نیست که مهمه، بلکه کلید هست که اهمیت داره" دیگه ابهامی باقی نمیمونه. از طرفی مفهوم کلید واضح هست. کلید برای باز کردن قفل، پیدا کردن راه حل یک مسئله و غیره کاربرد داره. پس وقتی گفته میشه کلید، باید چیزی هم باشه که بشه با اون کلید بازش کرد. خود کلید رو که باز نمی کنند!نقل قول:
از اينجا
در هر حال، همونطور که گفتم، پیش فرض این بود که شمایک مقدماتی از این روش ها و تفاوت رمزنگاری با Hash Code ساختند رو میدونید.
بگذریم
خدمتتون عارضم که ... میگذریم :dنقل قول:
بگذریم