可以的。推荐的是使用绿盾加密,采用的是文件透明加密模块,对平常办公使用是没有影响的。而且绿盾支持与SVN等源代码管理工具无缝结合。
如果企业内部SVN服务器采取透明模式,即加密文件是可以存放在SVN服务器上的,需要达到的效果是SVN服务器上文件密文存储。则配合天锐绿盾应用服务器安全接入系统来实现只有安装了加密客户端的Windows、Linux、MAC端才能够正常的访问公司内部的SVN服务器。
如果企业内部采用eclipse、VS等开发工具,从这些开发工具将代码直接上传到SVN服务器上时会自动解密。为了避免明文、密文混乱存放导致版本比对时出现错误等问题。因此,SVN服务器上需统一存放明文文件。则通过服务器白名单功能实现对终端电脑数据进行强制透明加密,对上传到应用服务器数据实现上传自动解密、下载自动加密。再配合天锐绿盾应用服务器安全接入系统实现只有安装了加密客户端的Windows、Linux、MAC端才能够正常的访问公司内部的SVN服务器。
赛虎信息科技始终倾力为企事业单位的信息安全、绿盾数据防泄密提供一体化顾问式解决方案,为客户提供优质的内网安全管理产品和适合多种行业的应用解决方案。
public class SocketTest {public static void main(String[] args) {
//你想获取代码的网站
String strServer = "www.baidu.com"
//起始页面,/为根页
String strPage = "/"
try
{
//设置端口,通常http端口不就是80罗,你在地址栏上没输就是这个值
int port = 80
//用域名反向获得IP地址
InetAddress addr = InetAddress.getByName(strServer)
//建立一个Socket
Socket socket = new Socket(addr, port)
//发送命令,无非就是在Socket发送流的基础上加多一些握手信息,详情请了解HTTP协议
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF-8"))
wr.write("GET " + strPage + " HTTP/1.0\r\n")
wr.write("HOST:" + strServer + "\r\n")
wr.write("Accept:*/*\r\n")
wr.write("\r\n")
wr.flush()
//接收Socket返回的结果,并打印出来
BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream()))
String line
while ((line = rd.readLine()) != null)
{
System.out.println(line)
}
wr.close()
rd.close()
}
catch (Exception e)
{
e.printStackTrace()
}
}
}
密钥可以直接作为密钥对象保存的,然后用的时候再进行转换参考代码:
import java.security.Key
import java.security.KeyException
import java.security.NoSuchAlgorithmException
import javax.crypto.Cipher
import javax.crypto.IllegalBlockSizeException
import javax.crypto.KeyGenerator
import javax.crypto.NoSuchPaddingException
import javax.crypto.SecretKey
public class Test {
public static void main(String [] args) {
String Algorithm="DES"//定义 加密算法,可用 DES,DESede,Blowfish
KeyGenerator keygen
try {
keygen = KeyGenerator.getInstance(Algorithm)
SecretKey deskey = keygen.generateKey()
Cipher ci = Cipher.getInstance("DES")
//将其包装为byte[]发送
byte[] b = ci.wrap(deskey)
//发送
//...
//接收到后
//解封装
Key key = ci.unwrap(b, Algorithm, Cipher.PRIVATE_KEY)
//...
} catch (NoSuchAlgorithmException e) {
e.printStackTrace()
} catch (KeyException e) {
e.printStackTrace()
} catch (IllegalBlockSizeException e) {
e.printStackTrace()
} catch (NoSuchPaddingException e) {
e.printStackTrace()
}
}
}
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)