LocatorInfo locator = service.create(Locator.create(
accessPolicy.getId(), asset.getId(), LocatorType.SAS));
String contentKeyId = createAssetContentKey(asset, aesKey);
WritableBlobContainerContract uploader = service
.createBlobWriter(locator);
Hashtable<String, AssetFileInfo> infoToUpload = new Hashtable<String, AssetFileInfo>();
boolean isFirst = true;
for (String fileName : inputFiles.keySet()) {
MessageDigest digest = MessageDigest.getInstance("MD5");
InputStream inputStream = inputFiles.get(fileName);
byte[] iv = null;
if (aesKey != null) {
iv = createIV();
inputStream = EncryptionHelper.encryptFile(inputStream, aesKey,
iv);
}
InputStream digestStream = new DigestInputStream(inputStream,
digest);
CountingStream countingStream = new CountingStream(digestStream);
uploader.createBlockBlob(fileName, countingStream);
inputStream.close();
byte[] md5hash = digest.digest();
String md5 = Base64.encode(md5hash);