Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

ruileal

LoadBitmap

Mensagens Recomendadas

ruileal

Boas a todos,

Tenho uns ficheiros bmp criptados por mim e gostaria saber se existe alguma forma de os carregar para a memoria e utiliza-los sem nunca os decriptar para o disco...

Muito obrigado companheiros

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Vais ter de te explicar melhor :confused:

Começa por definir "bmp criptado".


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ruileal

O meu interesse é converter um ficheiro bmp num outro ficheiro criptado através de uma função de criptação (não importa qual), depois na minha aplicação ler o ficheiro criptado, decripta-lo (sem gravar no disco o resultado) e apresenta-lo num form ou numa picturebox.

Referi bitmaps mas se possivel a wav's também :confused:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Há solução para tudo.

Se não importa a maneira como tratas, podes dar uma espreitadela no blog do JPaulino, mais especificamente neste post, onde a linhas tantas ele fala na comparação de duas imagens através de uma representação base64.

Podes considerar essa representação como o teu "cripto"... basta aplicares uma leve codificação à representação.

Nem que seja meter todos os "a" em "_", já é suficiente para o bitmap deixar de o ser.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ruileal

Boas, obrigado pela resposta...

pegando no codigo do jp (espero que ele nao se importe)

 Public sub ImageToBase64String(ByVal image As Image, ByVal format As Imaging.ImageFormat) 
        Dim tabela() As Byte 
        Using memory As New IO.MemoryStream()
            image.Save(memory, format)
            tabela= memory.ToArray
        End Using

        dim xxx as image
        ' quero colocar na xxx o valor da tabela()
end sub

Como coloco o valor do array da tabela na variavel xxx? esse é o meu problema  :wallbash:

Explicando melhor, eu quero na minha aplicação utilizar imagens gravadas no disco mas não quero partilha-lhas com mais ninguem...se colocar os ficheiros codificados e qd os abrir os descodificar para uma variavel depois posso utiliza-los

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Agora estou curtinho de tempo :thumbsup: , exprimenta dar uma vista de olhos por aqui:

http://www.codeproject.com/KB/vb/Base64decoder.aspx

Só precisas depois de passar uma codificação super leve por cima da string de representação para que não seja simplesmente reconverter.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ruileal

pois companheiro, mas isto é sempre de ficheiro normal para ficheiro criptado, e de criptado para normal...ou seja lês sempre os ficheiros e nunca a tabela byte...

ok companheiro, não há pressa...obrigadão na mesma

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ruileal

Problema resolvido...Agradeço ao moderador que feche o tópico...

 Dim myImage As Image = Image.FromFile("d:\lixo\1.jpeg")



        'Image to byte[]

        Dim imgMemoryStream As MemoryStream = New MemoryStream()

        Dim imgByteArray As Byte() = Nothing

        myImage.Save(imgMemoryStream, System.Drawing.Imaging.ImageFormat.Jpeg)

        imgByteArray = imgMemoryStream.GetBuffer()



        'Byte[] to image

        imgMemoryStream = New IO.MemoryStream(imgByteArray)

        myImage = Drawing.Image.FromStream(imgMemoryStream)



        'Show it and check if the image is accordant with E:\VBproject\1.jpg.

        PictureBox1.Image = myImage

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ruileal

Qual é a vantagem/utilidade de colocar assim a imagem na memoria?

Todas, tenho os bitmaps encriptados no disco, faço o load para um byte array, decifro e depois posso utiliza-los sem nunca ter no disco um ficheiro decriptado.

PS: Claro que se tiveres outra sugestão ou ideia aceito :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Se isso for para esconder as míudas dos olhos curiosos da namorada/mulher, e se os seus conhecimentos informáticos se baseiam em Solitaire, até podias trocar a extensão para EXE ou algo do género, que já complicava a coisa.

Se fores utilizador de Windows Vista +, podes até encriptar ficheiros e/ou pastas, nativamente.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.