SORU
31 Mayıs 2011, Salı


Nasıl node.js Base64 kodlama yapmak için?

Node.js yerleşik base64 kodlama belli oldu mu?

Sormamın sebebi bu crypto final() sadece hex, ikili veya ascıı veri çıktı. Örneğin:

var cipher = crypto.createCipheriv('des-ede3-cbc', encryption_key, iv);
var ciph = cipher.update(plaintext, 'utf8', 'hex');
ciph  = cipher.final('hex');

var decipher = crypto.createDecipheriv('des-ede3-cbc', encryption_key, iv);
var txt = decipher.update(ciph, 'hex', 'utf8');
txt  = decipher.final('utf8');

Doktorlar, update() göre çıkış base64 olarak kodlanmış veri. Ancak, final() base64 desteklemiyor. Denedim ve kırılır.

Eğer bunu yaparsam:

var ciph = cipher.update(plaintext, 'utf8', 'base64');
    ciph  = cipher.final('hex');

Ben şifre çözme için kullanın. Onaltılık veya base64?

Bu nedenle, base64 kodlamak benim şifreli onaltılık çıkış için bir fonksiyon arıyorum.

Teşekkürler.

CEVAP
31 Mayıs 2011, Salı


Buffers veri veya dize bir parça alıp sonucu base64 kodlama yapmak için kullanılabilir. Örneğin:

> console.log(new Buffer("Hello World").toString('base64'));
SGVsbG8gV29ybGQ=
> console.log(new Buffer("SGVsbG8gV29ybGQ=", 'base64').toString('ascii'))
Hello World

Tamponlar küresel bir nesne, hayır tesisat gerektirir. Tamponlar dizeleri ile oluşturulan isteğe bağlı kodlama bir dizge içinde ne olduğunu belirtmek için. 10 ** Buffer yapıcı kodlamalar aşağıdaki gibidir:

<^. 'ascıı' - 7 bit ASCII veri sadece. p Bu kodlama yöntemi çok hızlı ve yüksek bit kümesi şerit.

<>'utf8' - Çoklu bayt kodlanmış p Unicode karakterleri. Birçok web sayfaları ve diğer belge biçimleri kullanın UTF-8.

< . p ^'ucs2' - 2-bayt, küçük endian Unicode karakterleri kodlanmış. Bu sadece BMP kodlamak(Temel Çokdilli Düzlem, U 0000 - FFFF U).

< . p ^'base64' - Base64 dize kodlama.

<'ikili' - kodlama ham Bir şekilde>p dizeleri içine ikili veri, her biri sadece ilk 8 bit kullanarak karakter. Bu kodlama yöntemi önerilmiyor ve kaçınılmalıdır mümkünse Tampon nesnelerin iyilik. Bu kodlama kaldırılacaktır Düğüm gelecek sürümlerinde.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 0TACTICAL0HIPPY0

    0TACTICAL0HI

    30 EYLÜL 2012
  • Boiler Room

    Boiler Room

    10 Mayıs 2012
  • hydejiaqi

    hydejiaqi

    12 Mart 2008