Image 能否将图像直接编码到sha1以节省本地存储空间?

Image 能否将图像直接编码到sha1以节省本地存储空间?,image,encoding,compression,local-storage,sha1,Image,Encoding,Compression,Local Storage,Sha1,我创建的Web应用支持脱机存储。。。但是,当用户添加10-13张照片时,它很快就会变得最大化。照片存储为超长的base64编码字符串。。。。但是它们可以存储为sha1吗?哈希与加密/编码不同 Base64是一种编码方法,意味着您无需密钥即可解码 SHA1是一种散列方法,意味着它将根据要散列的内容生成一个字符串,它不能被解码或解密 然后是加密(例如AES),即使用该算法和密钥对内容进行加密,以解密需要加密方法和密钥的数据,如果没有这些元素之一,则无法解密数据 如果您将照片存储为SHA1,将节省大量

我创建的Web应用支持脱机存储。。。但是,当用户添加10-13张照片时,它很快就会变得最大化。照片存储为超长的base64编码字符串。。。。但是它们可以存储为sha1吗?

哈希与加密/编码不同

Base64是一种编码方法,意味着您无需密钥即可解码

SHA1是一种散列方法,意味着它将根据要散列的内容生成一个字符串,它不能被解码或解密

然后是加密(例如AES),即使用该算法和密钥对内容进行加密,以解密需要加密方法和密钥的数据,如果没有这些元素之一,则无法解密数据

如果您将照片存储为SHA1,将节省大量空间,但您永远无法检索它们,因为您只有一个包含哈希内容的字符串

我不认为有任何方法可以避免照片占用的空间,您可以尝试保存到字节数组,但我认为占用的空间是相同的,因为您需要所有照片信息再次可用

示例(编码、哈希、加密单词“teste”)

Base64编码:dGVzdGU=
测试编码的网站:

SHA1散列:2e6f9b0d5885b6010f9167787445617f553a735f
测试SHA1哈希的网站:


AES加密生成一个字节数组。
Base64相当于AES字节数组:SUpXhKOAO1pQdXD2igf0cw=
使用的密钥:密钥加密解密
大小:128位
测试AES加密的网站:

感谢您的回答。。。但是git呢?git不会把你做的每件事都变成SHA1吗?它如何在提交中检索文件?不过我对git还比较陌生,所以我可能只是误解了一些事情。我不认为git会把所有东西都变成SHA1哈希,只是一些安全部分,比如密码。。。我从未使用过Git,所以我不能确定。我知道我上面写的是正确的。Git必须使用加密方法安全地保存文件,如果使用SHA1,则解密文件的密码是哈希IDK。我想是这样的。但是我也不确定我在回答中给你的是关于这三种方法如何工作的简短描述。如果您想了解更多信息,可以访问此网站或在Google上搜索编码和加密Git使用内容的散列来识别它,不同的提交通过引用这些散列链接在一起。实际内容(源代码、密码、密钥等)是压缩存储但未加密的(所以您不想将它们推送到GitHub!)。散列还用于确认存储库的完整性,任何数据损坏都会被检测到,因为散列不再匹配。BitTorrent使用类似的技术(Merkle树),哈希只是关于原始内容的元数据。