问个有难度的问题,如果解决,在开贴给分。

angelface 2005-08-03 12:28:34
现在有一个系统, 是oracle的数据库,里面有这样一个blob类型的字段,里面存了图片和html的代码,注意, 是同存在一个blob字段里的,现在要单独提出图片和代码,而且这个图片的数目不一,大小不一, 但是都是在开头部,请问有什么办法?(图片为gif格式)

  我知道gif格式的图片是以0x3B结尾的。
...全文
312 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
angelface 2005-08-04
  • 打赏
  • 举报
回复
呵呵, 确实好多问题, 比如楼上所说, 还有就是gif的文件明问题,
cosmograd 2005-08-04
  • 打赏
  • 举报
回复
判断<html>么……
我自己写的一些页面,有些时候不加这个标签的
jFresH_MaN 2005-08-04
  • 打赏
  • 举报
回复
呵呵, 这到是, 不过, gif不只是一个, 可能会有几个, 
-------------
几个也没关系啊,只要是gif先保存进去的,那么你用0x3B可以截取一个出来,判断后面有没有<html>,如果没有几继续用0x3B截取下一个
直到碰到<html>,效率是不行,但是没办法,谁要你们的数据库设计成这样呢?
shoulders 2005-08-04
  • 打赏
  • 举报
回复
mark
angelface 2005-08-04
  • 打赏
  • 举报
回复
呵呵, 这到是, 不过, gif不只是一个, 可能会有几个, 

   要是加上确定<html>可能就会可以 了,但是, 这样,可能效率会很差啊,
jFresH_MaN 2005-08-04
  • 打赏
  • 举报
回复
说得不错,gif一定是以0x3B结束,虽然不是0x3b就一定是gif的结尾标志,其他字符串也可能包含这个字符。
但是你的这个字段是先保存gif,所以说第一个碰到的0x3b就一定是gif的结束了。

如果你还是不确定可以再紧接着拿出0x3B后面的字符串,是不是<html>,这样就更保险了
angelface 2005-08-04
  • 打赏
  • 举报
回复
呵呵, 楼上的看好, 现在不是我来设计数据库, 而是已经现有的数据库, 而且数据库里已经有20多万条数据, 不是我来决定怎么插入数据的。

zhang21cnboy 2005-08-04
  • 打赏
  • 举报
回复
呵呵,这不就得了。

保存10个文件,分析下。

偶经常干这种事情。哈哈!
angelface 2005-08-04
  • 打赏
  • 举报
回复
hoho,不是要破解别人的东西, 只是要整合别人的东西, 

      规则肯定是有的, 只是差找出这个规则,
zhang21cnboy 2005-08-04
  • 打赏
  • 举报
回复
你的这种问题,只能说明一种问题,你在做程序,破解别人程序使用的数据。

如果你能够找到设计数据库的人,那你就不会有这种问题。

这种数据库的设计很正常,凡是需要加密数据的,很多都是这么做的。

给你一个提示,你可以读出来10个流,保存成文件,再拿文本编辑器(支持16进制)打开,每个文件比对,看看规则。总结出来就可以了!

既然有人那样往里面存,他就肯定制定了规则。你只需要破解这个规则。

这里的任何人都不可能破解这个规则,因为我们都没有那些数据哦!
angelface 2005-08-03
  • 打赏
  • 举报
回复
帮帮忙, 谢谢大家了!
slin2005 2005-08-03
  • 打赏
  • 举报
回复
存进去的时候blob字段的内容最开头几个字节保存图片的大小,和html文件代码的大小,取出来的时候,根据开头几个字节的保存的图片的size和文件的size,就可以区分出来了。


同意
angelface 2005-08-03
  • 打赏
  • 举报
回复
ChDw老兄说的对,我也知道, Gif一定是以0x3B结束,但是不是以0x3B结束的都是gif, 

   大家看看有什么好的解决方案,或者是思路,
interhanchi 2005-08-03
  • 打赏
  • 举报
回复
不懂,学习 !
layueer 2005-08-03
  • 打赏
  • 举报
回复
用正则是吧,取0x3B以后的就是html了。
angelface 2005-08-03
  • 打赏
  • 举报
回复
是啊, 设计的决对有问题啊, 但是没办法啊, 最主要他是一个产品, 我觉得他的图片和代码中间肯定应该是有一个分隔符的, 但是这个分隔符,我没有办法得到是什么,
laughsmile 2005-08-03
  • 打赏
  • 举报
回复
数据库设计的时候应该分开的字段的...
我觉得只有全部读出来,一一判断了.
jFresH_MaN 2005-08-03
  • 打赏
  • 举报
回复
你知道html代码的开头有什么特征吗?
实在不行,只有全部读出来,然后找<html>这个字符串~~
不过效率就不行了~
jFresH_MaN 2005-08-03
  • 打赏
  • 举报
回复
靠,这个数据库设计得也太差了吧
如果实在要把binary数据和char数据混在一个字段,中间也要有一个标志位用来分割啊~~
ChDw 2005-08-03
  • 打赏
  • 举报
回复
这个字段必然存在如何断开GIF与HTML分隔的方法,你使用0x3B字节的方法显然是不行的,GIF可能都是以0x3B结束(我不确认),但是并不是所有的0x3B都代表GIF的结束,所以你很难断开。如果说这个库的设计都就没有做好断分隔的方法,那么只能说设计者太垃圾了
加载更多回复(4)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧