Ruby와 Crypt library을 사용하여 일반 텍스트를 인코딩하고 싶습니다. 그런 다음이 암호화 된 텍스트를 다른 데이터와 함께 XML 파일 내의 ASCII 16 진수 문자열로 전송하려고합니다. Blowfish로 인코딩 된 2 진 문자열을 Ruby에서 ASCII로 변환하려면 어떻게해야합니까?
나는이 다음 코드 :require 'rubygems'
require 'crypt/blowfish'
plain = "This is the plain text"
puts plain
blowfish = Crypt::Blowfish.new("A key up to 56 bytes long")
enc = blowfish.encrypt_block(plain)
puts enc
출력 :
This is the plain text ????;
은 내가 enc.unpack()
를 호출 할 필요가 생각하지만 난 압축 풀기 메소드 호출에 필요한 어떤 매개 변수가 없습니다 확신 .
은 그 암호문 출력을 포함하는 버퍼를 촬영하는 방법 요청이 질문은, 내가 믿는 일반 텍스트 출력을 복구 할 수 있습니다 :
여기에 바이너리 데이터를 인코딩하기 위해 두 가지 방법을합니다. – animal
그건 바로 holychao입니다. blowfish.encrypt_string()에 의해 생성 된 문자열은 제어 문자를 포함합니다. 이 문자열을 읽을 수있는 ASCII로 변환하고 싶습니다. – mlambie
분명히 위의 목적을 이해하지 못한 채 크립트 소스를보고 올바른 값을 얻기 위해 N을 팩/언팩의 매개 변수로 사용하고있는 것 같습니다. 그러나 N을 사용하면 BigNum이 만들어지고 쉽게 16 진수로 변환 할 수 없습니다. 하지만 아래의 코드를 사용하면 암호화 된 문자열을 다른 인스턴스로 보낼 수 있습니다.
이것이 도움이 될지 모르지만 행운을 빈다. :) – gaqzi