คำถามติดแท็ก encryption

การเข้ารหัสเป็นกระบวนการแปลงข้อมูล (เรียกว่าข้อความธรรมดา) ให้อยู่ในรูปแบบที่อ่านไม่ได้ (เรียกว่าไซเฟอร์เท็กซ์) โดยใช้อัลกอริทึมการเข้ารหัสรวมกับพารามิเตอร์ (เรียกว่าคีย์เข้ารหัส เฉพาะผู้ที่มีคีย์การถอดรหัสเท่านั้นที่สามารถย้อนกระบวนการและกู้คืนข้อความธรรมดาดั้งเดิมได้ คำถามเชิงแนวคิดเกี่ยวกับการเข้ารหัสอาจได้รับคำตอบที่ดีกว่าใน crypto.stackexchange.com


8
ส่วนหัว HTTPS เข้ารหัสหรือไม่
เมื่อส่งข้อมูลผ่าน HTTPS ฉันรู้ว่าเนื้อหานั้นได้รับการเข้ารหัส แต่ฉันได้ยินคำตอบที่หลากหลายเกี่ยวกับว่าส่วนหัวได้รับการเข้ารหัสหรือมีการเข้ารหัสส่วนหัวเท่าใด เท่าใดของ HTTPS ส่วนหัวมีการเข้ารหัส? รวมถึง URL คำขอ GET / POST, คุกกี้, ฯลฯ
599 security  post  encryption  https  get 

12
ความแตกต่างพื้นฐานระหว่างอัลกอริทึม Hashing และการเข้ารหัส
ฉันเห็นความสับสนมากมายระหว่างแฮชและอัลกอริธึมการเข้ารหัสและฉันต้องการฟังคำแนะนำจากผู้เชี่ยวชาญเพิ่มเติมเกี่ยวกับ: ควรใช้แฮชเมื่อใดเทียบกับการเข้ารหัส สิ่งที่ทำให้แฮชหรืออัลกอริธึมการเข้ารหัสแตกต่างกัน (จากระดับทฤษฎี / คณิตศาสตร์) คือสิ่งที่ทำให้แฮชไม่สามารถย้อนกลับได้ (โดยไม่ต้องอาศัยต้นรุ้ง) นี่คือคำถาม SO ที่คล้ายกันที่ไม่ได้ลงรายละเอียดมากที่สุดเท่าที่ฉันกำลังมองหา: ความแตกต่างระหว่าง Obfuscation, Hashing และ Encryption คืออะไร ความแตกต่างระหว่างการเข้ารหัสและการแฮช

7
วิธีการเลือกโหมดการเข้ารหัส AES (CBC ECB CTR OCB CFB)
ข้อใดที่พวกเขาต้องการในสถานการณ์ใด ฉันต้องการดูรายการการประเมิน crtieria สำหรับโหมดต่าง ๆ และอาจเป็นการอภิปรายการบังคับใช้ของแต่ละเกณฑ์ ตัวอย่างเช่นฉันคิดว่าหนึ่งในเกณฑ์คือ "ขนาดของรหัส" สำหรับการเข้ารหัสและถอดรหัสซึ่งเป็นสิ่งสำคัญสำหรับระบบฝังตัวไมโครโค้ดเช่น 802.11 อะแดปเตอร์เครือข่าย หากรหัสที่ต้องใช้ในการปรับใช้ CBC นั้นเล็กกว่าที่ต้องการสำหรับ CTR (ฉันไม่รู้ว่านี่เป็นจริงมันเป็นเพียงตัวอย่าง) จากนั้นฉันสามารถเข้าใจได้ว่าทำไมถึงเลือกใช้โหมดที่มีรหัสขนาดเล็กกว่า แต่ถ้าฉันเขียนแอพที่ทำงานบนเซิร์ฟเวอร์และไลบรารี่ AES ที่ฉันใช้นั้นทำทั้ง CBC และ CTR อย่างไรก็ตามเงื่อนไขนี้ไม่เกี่ยวข้อง ดูสิ่งที่ฉันหมายถึงโดย "รายการเกณฑ์การประเมินผลและการบังคับใช้ของแต่ละเกณฑ์" นี่ไม่ได้เกี่ยวข้องกับการเขียนโปรแกรม แต่เกี่ยวข้องกับอัลกอริทึม
479 encryption  aes 

9
การเข้ารหัสด้วยรหัสผ่าน AES Java 256 บิต
ฉันต้องใช้การเข้ารหัส AES 256 บิต แต่ตัวอย่างทั้งหมดที่ฉันพบออนไลน์ใช้ "KeyGenerator" เพื่อสร้างคีย์ 256 บิต แต่ฉันต้องการใช้รหัสผ่านของฉันเอง ฉันจะสร้างรหัสของตัวเองได้อย่างไร ฉันได้ลองขยายไปถึง 256 บิต แต่แล้วฉันก็พบข้อผิดพลาดที่บอกว่ากุญแจยาวเกินไป ฉันมีการติดตั้ง patch แบบไม่ จำกัด เขตอำนาจศาลดังนั้นจึงไม่ใช่ปัญหา :) กล่าวคือ KeyGenerator มีลักษณะเช่นนี้ ... // Get the KeyGenerator KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128); // 192 and 256 bits may not be available // Generate the secret key specs. SecretKey …

14
แอปพลิเคชันของฉัน "มีการเข้ารหัส" หรือไม่?
ฉันกำลังอัปโหลดไบนารี่เป็นครั้งแรก iTunes Connect ถามฉัน: กฎหมายการส่งออกกำหนดให้ผลิตภัณฑ์ที่มีการเข้ารหัสได้รับอนุญาตอย่างถูกต้องสำหรับการส่งออก การไม่ปฏิบัติตามอาจส่งผลให้มีบทลงโทษที่รุนแรง สำหรับข้อมูลเพิ่มเติมคลิกที่นี่ ผลิตภัณฑ์ของคุณมีการเข้ารหัสหรือไม่? ฉันใช้https://แต่ผ่านNSURLConnectionและUIWebViewเท่านั้น การอ่านของฉันเกี่ยวกับเรื่องนี้คือแอปของฉันไม่ได้ "มีการเข้ารหัส" แต่ฉันสงสัยว่าจะสะกดทุกที่ "การลงโทษที่รุนแรง" ไม่ได้ฟังดูน่าพอใจเลยดังนั้น "ฉันคิดว่าถูกต้อง" เป็นเพียงร่างคร่าวๆ ... คำตอบที่เชื่อถือได้จะดีกว่า ขอบคุณ

14
วิธีที่เหมาะสมที่สุดในการจัดเก็บการตั้งค่าผู้ใช้ในแอปพลิเคชัน Android คืออะไร
ฉันกำลังสร้างแอปพลิเคชันที่เชื่อมต่อกับเซิร์ฟเวอร์โดยใช้ชื่อผู้ใช้ / รหัสผ่านและฉันต้องการเปิดใช้งานตัวเลือก "บันทึกรหัสผ่าน" เพื่อให้ผู้ใช้ไม่ต้องพิมพ์รหัสผ่านทุกครั้งที่แอปพลิเคชันเริ่มทำงาน ฉันพยายามทำมันด้วย Shared Preferences แต่ไม่แน่ใจว่านี่เป็นทางออกที่ดีที่สุดหรือไม่ ฉันขอขอบคุณข้อเสนอแนะใด ๆ เกี่ยวกับวิธีการจัดเก็บค่า / การตั้งค่าผู้ใช้ในแอปพลิเคชัน Android

11
การเข้ารหัสและการลงชื่อเข้าใช้การเข้ารหัสแบบอสมมาตรแตกต่างกันอย่างไร
อะไรคือความแตกต่างระหว่างการเข้ารหัสข้อมูลบางอย่างกับการลงชื่อข้อมูลบางอย่าง (โดยใช้ RSA) มันกลับบทบาทของกุญแจสาธารณะส่วนตัวหรือไม่? ตัวอย่างเช่นฉันต้องการใช้ไพรเวตคีย์ของฉันเพื่อสร้างข้อความดังนั้นฉันเท่านั้นที่สามารถเป็นผู้ส่งได้ ฉันต้องการให้กุญแจสาธารณะของฉันถูกใช้เพื่ออ่านข้อความและฉันไม่สนใจว่าใครเป็นคนอ่าน ฉันต้องการเข้ารหัสข้อมูลบางอย่างและใช้เป็นรหัสผลิตภัณฑ์สำหรับซอฟต์แวร์ของฉัน ฉันแค่แคร์ว่าฉันเป็นคนเดียวที่สามารถสร้างสิ่งเหล่านี้ ฉันต้องการที่จะรวมกุญแจสาธารณะของฉันในซอฟต์แวร์ของฉันเพื่อถอดรหัส / อ่านลายเซ็นของกุญแจ ฉันไม่สนใจว่าใครสามารถอ่านข้อมูลในคีย์ได้ฉันแค่แคร์ว่าฉันเป็นคนเดียวที่ตรวจสอบได้ซึ่งสามารถสร้างได้ การเซ็นชื่อมีประโยชน์ในสถานการณ์นี้หรือไม่

24
เป็นไปได้ที่จะถอดรหัส MD5 hashes หรือไม่
มีคนบอกฉันว่าเขาได้เห็นระบบซอฟต์แวร์ที่: ดึงรหัสผ่านที่เข้ารหัส MD5 จากระบบอื่น ถอดรหัสรหัสผ่านที่เข้ารหัสและ เก็บรหัสผ่านในฐานข้อมูลของระบบโดยใช้อัลกอริทึมของระบบ เป็นไปได้ไหม ฉันคิดว่ามันเป็นไปไม่ได้ / เป็นไปได้ที่จะถอดรหัส MD5 แฮช ฉันรู้ว่ามีพจนานุกรม MD5 แต่มีอัลกอริทึมการถอดรหัสจริงหรือไม่

5
การเข้ารหัสแบบสองทางที่ง่ายที่สุดโดยใช้ PHP
วิธีที่ง่ายที่สุดในการทำการเข้ารหัสแบบสองทางในการติดตั้ง PHP ทั่วไปคืออะไร? ฉันต้องสามารถเข้ารหัสข้อมูลด้วยสตริงคีย์และใช้คีย์เดียวกันเพื่อถอดรหัสที่ส่วนอื่น ๆ การรักษาความปลอดภัยไม่ได้เป็นเรื่องที่น่ากังวลเท่า ๆ กับความสะดวกในการพกพาของรหัสดังนั้นฉันต้องการที่จะทำให้สิ่งต่าง ๆ เรียบง่ายที่สุดเท่าที่จะทำได้ ขณะนี้ฉันกำลังใช้การติดตั้ง RC4 แต่ถ้าฉันสามารถหาบางอย่างที่สนับสนุนได้ฉันคิดว่าฉันสามารถบันทึกรหัสที่ไม่จำเป็นจำนวนมากได้

9
คุณเข้ารหัสและถอดรหัสสตริง PHP ได้อย่างไร
ที่ฉันหมายถึงคือ: Original String + Salt or Key --> Encrypted String Encrypted String + Salt or Key --> Decrypted (Original String) อาจจะชอบ: "hello world!" + "ABCD1234" --> Encrypt --> "2a2ffa8f13220befbe30819047e23b2c" (may be, for e.g) "2a2ffa8f13220befbe30819047e23b2c" --> Decrypt with "ABCD1234" --> "hello world!" ใน PHP คุณจะทำสิ่งนี้ได้อย่างไร พยายามใช้Crypt_Blowfishแต่ไม่ได้ผลสำหรับฉัน

6
SHA512 vs. Blowfish และ Bcrypt [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันกำลังดูอัลกอริทึมการแปลงแป้นพิมพ์ แต่ไม่พบคำตอบ Bcrypt ใช้ Blowfish ปักเป้าดีกว่า MD5 ถาม: แต่ปักเป้าดีกว่า SHA512 หรือไม่ ขอบคุณ .. ปรับปรุง: ฉันต้องการชี้แจงว่าฉันเข้าใจความแตกต่างระหว่างการแฮชและการเข้ารหัส สิ่งที่ถามฉันจะถามคำถามแบบนี้เป็นบทความนี้ , ที่ผู้เขียนหมายถึง bcrypt ว่า "การปรับตัวคร่ำเครียด" เนื่องจาก bcrypt นั้นเป็นพื้นฐานของ Blowfish ฉันจึงถูกนำไปคิดว่า Blowfish นั้นเป็นอัลกอริทึมคร่ำเครียด หากการเข้ารหัสเป็นคำตอบได้ชี้ให้เห็นแล้วดูเหมือนว่าฉันไม่ควรมีที่ในบทความนี้ สิ่งที่แย่กว่านั้นคือเขาสรุปว่า bcrypt นั้นดีที่สุด สิ่งที่ทำให้ฉันสับสนตอนนี้ก็คือคลาส phpass (ใช้สำหรับการแฮ็กรหัสผ่านที่ฉันเชื่อ) ใช้ bcrypt (เช่นปักเป้าการเข้ารหัสเช่น) จากข้อมูลใหม่นี้ที่พวกคุณกำลังบอกฉัน (ปักเป้าเป็นการเข้ารหัส) คลาสนี้ฟังดูผิด ฉันพลาดอะไรไปรึเปล่า?


1
ฉันต้องเก็บเกลือด้วย bcrypt หรือไม่?
javadoc ของ bCryptมีรหัสนี้สำหรับวิธีการเข้ารหัสรหัสผ่าน: String pw_hash = BCrypt.hashpw(plain_password, BCrypt.gensalt()); ในการตรวจสอบว่ารหัสผ่านแบบธรรมดานั้นตรงกับรหัสผ่านที่แฮชก่อนหน้านี้หรือไม่ให้ใช้วิธีการ checkpw: if (BCrypt.checkpw(candidate_password, stored_hash)) System.out.println("It matches"); else System.out.println("It does not match"); ตัวอย่างโค้ดเหล่านี้บอกฉันว่าเกลือที่สร้างขึ้นแบบสุ่มถูกโยนทิ้งไป เป็นกรณีนี้หรือเป็นเพียงข้อมูลโค้ดที่ทำให้เข้าใจผิด?

11
เมื่อใดที่ฉันจะต้องใช้ SecureString ใน. NET
ฉันพยายามที่จะทำให้วัตถุประสงค์ของ SecureString ของ. NET จาก MSDN: อินสแตนซ์ของคลาส System.String มีทั้งที่ไม่เปลี่ยนรูปและเมื่อไม่ต้องการอีกต่อไปไม่สามารถกำหนดตารางเวลาทางโปรแกรมสำหรับการรวบรวมขยะ นั่นคืออินสแตนซ์จะอ่านอย่างเดียวหลังจากที่มันถูกสร้างขึ้นและเป็นไปไม่ได้ที่จะทำนายว่าเมื่อใดที่อินสแตนซ์นั้นจะถูกลบออกจากหน่วยความจำคอมพิวเตอร์ ดังนั้นหากวัตถุ String มีข้อมูลที่ละเอียดอ่อนเช่นรหัสผ่านหมายเลขบัตรเครดิตหรือข้อมูลส่วนบุคคลมีความเสี่ยงที่ข้อมูลจะถูกเปิดเผยหลังจากใช้งานเพราะแอปพลิเคชันของคุณไม่สามารถลบข้อมูลออกจากหน่วยความจำคอมพิวเตอร์ วัตถุ SecureString คล้ายกับวัตถุ String ซึ่งมีค่าข้อความ อย่างไรก็ตามค่าของวัตถุ SecureString จะถูกเข้ารหัสโดยอัตโนมัติสามารถแก้ไขได้จนกว่าแอปพลิเคชันของคุณจะทำเครื่องหมายว่าเป็นแบบอ่านอย่างเดียวและสามารถลบได้จากหน่วยความจำคอมพิวเตอร์โดยแอปพลิเคชันของคุณหรือตัวรวบรวมขยะ. NET Framework ค่าของอินสแตนซ์ของ SecureString จะถูกเข้ารหัสโดยอัตโนมัติเมื่อเริ่มต้นอินสแตนซ์หรือเมื่อมีการปรับเปลี่ยนค่า แอปพลิเคชันของคุณสามารถแสดงผลอินสแตนซ์ไม่เปลี่ยนรูปและป้องกันการแก้ไขเพิ่มเติมโดยการเรียกใช้เมธอด MakeReadOnly การเข้ารหัสอัตโนมัติเป็นการจ่ายผลตอบแทนมหาศาลหรือไม่? และทำไมฉันไม่สามารถพูดได้: SecureString password = new SecureString("password"); แทน SecureString pass = new SecureString(); foreach (char c in "password".ToCharArray()) pass.AppendChar(c); SecureString ด้านใดที่ฉันขาดหายไป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.